当前位置:  开发笔记 > 编程语言 > 正文

Java项目的包结构?

如何解决《Java项目的包结构?》经验,为你挑选了3个好方法。

什么是在Java Web应用程序中设置包结构的最佳实践?

你会如何设置你的src,单元测试代码等?



1> johnstok..:

您可以遵循maven的标准项目布局.您不必实际使用maven,但它将在未来(如有必要)使转换更容易.此外,其他开发人员将习惯于看到这种布局,因为许多开源项目都以这种方式布局,


您可以使用此oneliner来创建目录布局:mkdir -p src/{main/{java,resources,filters,assembly,config,webapp},test/{java,resources,filters},site}
如果您有选择,我还建议您使用Maven的布局.这是一个经过深思熟虑的结构,经过了经过实战考验,对许多开发人员来说都很熟悉.

2> lycono..:

您可能会检查一些现有资源:

    正确打包Java类

    Spring 2.5架构

    Java教程 - 命名包

    SUN Naming Conventions

对于它的价值,我倾向于使用的个人指南如下:

    从反向域开始,例如"com.mycompany".

    使用产品名称,例如"myproduct".在某些情况下,我倾向于拥有不属于特定产品的通用包.这些最终将根据这些常见类的功能进行分类,例如"io","util","ui"等.

    在此之后它变得更加自由形式.通常我根据项目,功能区域,部署等进行分组.例如,我可能有"project1","project2","ui","client"等.

其他几点:

    在我从事设计文档流程的程序包名称的项目中,这是很常见的.通常,产品已经分为功能或目的区域.

    不要过分强调将常用功能推送到更高的包中.等待项目,产品等的需求,然后重构.

    观察包间依赖关系.它们并非都不好,但它可以表示可能是独立单元之间的紧密耦合.有些工具可以帮助您跟踪这一点.


在反向域的情况下("com.mycompany"),除了"mycompany"子包之外,"com"包通常是空的吗?

3> 小智..:

我建议按功能创建包结构,而不是按实现层创建.关于这一点的一个很好的写法是Java实践:逐个功能,而不是图层


如果你想切换数据库?只需要查看30种不同的包装.从SFTP迁移到webservices?再次只需要看30个不同的地方.绝对不是粉丝.
谢谢.这就是我想要将我的想法传达给团队的原因
推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有