不久前,我看到这里回答了一个关于java包的细粒度组织的问题。my.project.util,my.project.factory,my.project.service, ETC。

现在找不到了,所以才来问一下。

关于 Java 包的组织及其内容,是否有最佳实践?

您如何在 Java 项目中组织类?

例如,我正在与几个人合作的一个项目有一个名为 beans 的包。

感谢您的想法和评论。

答案

包组织或包结构通常是一个激烈的讨论。

  • 关注java包命名约定
  • 根据功能角色和业务角色构建您的包
    • 根据功能或模块分解您的包。com.company.product.modulea
    • 进一步的细分可能基于软件中的层。com.company.product.module.web或者com.company.product.module.utilETC。
    • 避免过度结构化,IMO 避免对例外情况、工厂等进行单独包装,除非有迫切需要。
  • 如果您的项目很小,请使用少量的包来保持简单。com.company.product.modelcom.company.product.util, ETC。
  • 看看一些流行的开源项目阿帕奇项目
  • 命名时还要考虑构建和分发(允许您将 api 或 SDK 分发到不同的包中,请参阅 servlet api)

经过几次实验和尝试后,您应该能够想出一个您满意的结构。

来自: stackoverflow.com