Moi*_*nGK 5 java oop project-organization package
当我们开始开发应用程序时,我们使用包在逻辑上组织我们的类,并且几乎总是有一个称为domain的包(如com.raysis.reportgen.domain)。我的问题是,我们应该在包装中放什么?不应该放什么?是否有标准定义或仅与程序员的品味有关?
之前,我在这里阅读过一些内容:什么是Java域模型?
敏捷大师 Robert C. Martin在他的开创性著作《敏捷软件开发:原则、模式和实践》中定义了几个软件包度量标准。人们一直在争论传入和传出耦合等指标在实践中的有用性,指标应该在何处以及如何应用等。无论您站在辩论的哪个位置,这些指标确实提供了一种很好的客观、可量化的方式来衡量耦合。然后,您可以对这些信息做您想做的事情。
一般来说,你应该更多地关注包级别,而不是类级别。如果一个包变化很大,限制成员依赖这个包的包的数量。相反,如果一个包稳定,鼓励其他包依赖它。另一个经验法则是,当更改包中一个类的 API 意味着必须更改包中所有其他类的 API 时,您知道包具有良好的内聚性。
您还可以将这些原则视为 Martin 所支持的一些 OO 类原则(如单一职责原则)的包级版本。