前三个组件设计原则关注组件的内聚,从本文开始,接下来将要介绍的三个原则更多关注组件间的耦合,其难度比前三个原则要大,我将结合一些示例进行讲解,主要参考资料仍然是Robert C.Martin的《敏捷软件开发:原则、模式与实践》(Agile Software Development: Principles, Patterns, and Practices)一书中的“Principles of Package and Component Design”一章。在讲解组件设计原则时,组件的涵义与包的涵义相似,都表示包含多个元素的组织结构。由于下面要介绍的无环依赖原则(ADP)、稳定依赖原则(SDP)和稳定抽象原则(SAP)相对较为复杂,因此,我决定分开进行讲解,尽量让每一个原则的讲解都能够全面而又深入,如有问题,欢迎大家多多与我交流!
组件耦合性原则:稳定性 (Principles of Component Coupling: Stability)
无环依赖原则(The Acyclic Dependencies Principle, ADP)
Allow no cycles in the component dependency graph.
在组件的依赖关系图中不允许存在环。
环形依赖和无环依赖
ADP其实很容易理解,就是说在组件与组件之间不应该存在环形依赖关系。对于一些规模较大的项目,难免