2016-04-21 87 views
0

我有一个生成我的API request.I一个pdf是新来的弹簧(我用的弹簧引导)一个辅助类,我要遵守严格的封装结构。如果把辅助类Spring MVC中

我很困惑 -

1.我应该使用什么软件包名称。例如:com.abx.myapp.helper?

2.什么样的命名规则,我应该遵循这些辅助类的?

回答

1

这取决于您要遵循的项目结构。我通常遵循这些类型的项目结构:

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.javaeg.com.myapp.pdf.PdfUtils.java。 就我个人而言,我发现第二种结构对我来说最适合在大型项目上工作,因为使用第一种结构可以非常快地失控 - 查找控制器和服务变得很麻烦。

如果您的pdf utils类包含更一般的方法,您可以将其命名为PdfUtils.java或仅仅是Pdfs.java。虽然它会更清楚它命名,例如PdfGenerator.java,使其具有只有特定的PDF生成,没有别的方法(例如弹簧具有Base64Utils.java与Base64编码和解码工作,JPA仅用于规范相结合Specifications.java)。

1

我不建议使用helper包,因为它很可能成为无关助手功能的倾销地。相反,我会把与PDF相关的所有东西放在一个pdf包中。

至于产生一个PDF类本身,我想给它一个描述它做什么的描述性名称。像PdfGenerator

1

这是一个非常主观的话题。我个人更喜欢团体班由他们共同的业务领域,它们组合成逻辑模块:通过一类的功能性目的

org.app.report 
| 
+- ReportController 
+- ReportService 
+- PdfWriter 

org.app.customer 
| 
+- Customer 
+- CustomerController 
+- CustomerService 
+- CustomerRepository 

,而不是分组:

org.app.controller 
| 
+- ReportController 
+- CustomerController 

org.app.service 
| 
+- etc... 

所以下面我最好的包装,你可能希望将此类放在其他相关业务代码旁边。但要记住,这样的:

  • 是具体的项目
  • 是个人喜好
  • 必须设置为项目自身 最佳实践它。如果你想每一个团队成员都必须遵循

在多个地方重复使用此帮手,请考虑将其保存在某种外部包装utilhelper包中。