不久前,我看到这里回答了一个关于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.util
ETC。 - 避免过度结构化,IMO 避免对例外情况、工厂等进行单独包装,除非有迫切需要。
- 根据功能或模块分解您的包。
- 如果您的项目很小,请使用少量的包来保持简单。
com.company.product.model
和com.company.product.util
, ETC。 - 看看一些流行的开源项目阿帕奇项目。
- 命名时还要考虑构建和分发(允许您将 api 或 SDK 分发到不同的包中,请参阅 servlet api)
经过几次实验和尝试后,您应该能够想出一个您满意的结构。