我有一个生成我的API request.I一个pdf是新来的弹簧(我用的弹簧引导)一个辅助类,我要遵守严格的封装结构。如果把辅助类Spring MVC中
我很困惑 -
1.我应该使用什么软件包名称。例如:com.abx.myapp.helper?
2.什么样的命名规则,我应该遵循这些辅助类的?
我有一个生成我的API request.I一个pdf是新来的弹簧(我用的弹簧引导)一个辅助类,我要遵守严格的封装结构。如果把辅助类Spring MVC中
我很困惑 -
1.我应该使用什么软件包名称。例如:com.abx.myapp.helper?
2.什么样的命名规则,我应该遵循这些辅助类的?
这取决于您要遵循的项目结构。我通常遵循这些类型的项目结构:
1. eg.com.myapp
├─── service
│ ├──── UserService.java
│ └──── PdfService.java
├─── controller
│ ├──── UserController.java
│ └──── PdfController.java
└─── util
├──── PdfUtils.java
└──── UserDetailsVerifier.java
2. eg.com.myapp
├─── user
│ ├──── UserController.java
│ ├──── UserDetailsVerifier.java
│ └──── UserService.java
└─── pdf
├──── PdfService.java
├──── PdfController.java
└──── PdfUtils.java
因此,无论eg.com.myapp.util.PdfUtils.java
或eg.com.myapp.pdf.PdfUtils.java
。 就我个人而言,我发现第二种结构对我来说最适合在大型项目上工作,因为使用第一种结构可以非常快地失控 - 查找控制器和服务变得很麻烦。
如果您的pdf utils类包含更一般的方法,您可以将其命名为PdfUtils.java
或仅仅是Pdfs.java
。虽然它会更清楚它命名,例如PdfGenerator.java
,使其具有只有特定的PDF生成,没有别的方法(例如弹簧具有Base64Utils.java
与Base64编码和解码工作,JPA仅用于规范相结合Specifications.java
)。
我不建议使用helper
包,因为它很可能成为无关助手功能的倾销地。相反,我会把与PDF相关的所有东西放在一个pdf
包中。
至于产生一个PDF类本身,我想给它一个描述它做什么的描述性名称。像PdfGenerator
。
这是一个非常主观的话题。我个人更喜欢团体班由他们共同的业务领域,它们组合成逻辑模块:通过一类的功能性目的
org.app.report
|
+- ReportController
+- ReportService
+- PdfWriter
org.app.customer
|
+- Customer
+- CustomerController
+- CustomerService
+- CustomerRepository
,而不是分组:
org.app.controller
|
+- ReportController
+- CustomerController
org.app.service
|
+- etc...
所以下面我最好的包装,你可能希望将此类放在其他相关业务代码旁边。但要记住,这样的:
在多个地方重复使用此帮手,请考虑将其保存在某种外部包装util
或helper
包中。