(Java)包组织有最佳实践吗?

发布于 2022-07-28 23:05:07

不久前,我在这里看到一个关于 java
包的细粒度组织的问题。例如,my.project.utilmy.project.factorymy.project.service等。

我现在找不到它,所以我不妨问这个问题。

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

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

例如,我正在与几个人合作的一个项目有一个名为 beans 的包。它开始是一个包含简单 bean
的项目,但最终(由于经验不足和缺乏时间)包含所有东西(几乎)。我通过将一些工厂类放在工厂包中(具有创建 bean
的静态方法的类)对它们进行了一些清理,但是我们还有其他执行业务逻辑的类和其他执行简单处理(不使用业务逻辑)的类,例如检索来自属性文件的代码消息。

感谢您的想法和评论。

关注者
0
被浏览
12
1 个回答
  • 面试哥
    面试哥 2022-07-28
    为面试而生,有面试问题,就找面试哥。

    包组织或包结构通常是一个激烈的讨论。以下是一些关于包命名和结构的简单指南:

    • 遵循 java包命名约定
    • 根据其功能角色和业务角色构建您的包
      • 根据它们的功能或模块分解你的包。例如 com.company.product.modulea
      • 进一步的细分可能基于您软件中的层。但是,如果您的包中只有几个类,请不要太过分,那么将所有东西都放在包中是有意义的。例如com.company.product.module.webcom.company.product.module.util等。
      • 避免过度结构化,IMO 避免对异常、工厂等进行单独包装,除非有迫切需要。
    • 如果您的项目很小,请使用几个包保持简单。例如com.company.product.modelcom.company.product.util等。
    • 看看Apache 项目中的一些流行的开源项目。了解他们如何将结构化用于各种规模的项目。
    • 命名时还要考虑构建和分发(允许您将 api 或 SDK 分发到不同的包中,请参阅 servlet api)

    经过一些实验和试验,您应该能够提出一个您感到满意的结构。不要拘泥于一种约定,要对变化持开放态度。



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看