什么是在Java Web应用程序中设置包结构的最佳实践?
你会如何设置你的src,单元测试代码等?
您可以遵循maven的标准项目布局.您不必实际使用maven,但它将在未来(如有必要)使转换更容易.此外,其他开发人员将习惯于看到这种布局,因为许多开源项目都以这种方式布局,
您可能会检查一些现有资源:
正确打包Java类
Spring 2.5架构
Java教程 - 命名包
SUN Naming Conventions
对于它的价值,我倾向于使用的个人指南如下:
从反向域开始,例如"com.mycompany".
使用产品名称,例如"myproduct".在某些情况下,我倾向于拥有不属于特定产品的通用包.这些最终将根据这些常见类的功能进行分类,例如"io","util","ui"等.
在此之后它变得更加自由形式.通常我根据项目,功能区域,部署等进行分组.例如,我可能有"project1","project2","ui","client"等.
其他几点:
在我从事设计文档流程的程序包名称的项目中,这是很常见的.通常,产品已经分为功能或目的区域.
不要过分强调将常用功能推送到更高的包中.等待项目,产品等的需求,然后重构.
观察包间依赖关系.它们并非都不好,但它可以表示可能是独立单元之间的紧密耦合.有些工具可以帮助您跟踪这一点.
我建议按功能创建包结构,而不是按实现层创建.关于这一点的一个很好的写法是Java实践:逐个功能,而不是图层