耦合原则

组件耦合原则用于指导确定组件之间的关系。

1. 无环依赖原则(The Acyclic Depencencies Principle,ADP)

  • 组件依赖关系图中不允许出现环,而应该是个有向无环图(DAG)。
  • 换言之:组件之间不允许出现双向依赖或循环依赖。
  • 可以通过一些手段消除循环依赖:
    • 依赖倒置/控制反转
    • 抖动(Jitters):随着产品的扩展随时调整依赖结构以消除出现的循环依赖
    • 引入第三方作为中介,双方共同依赖第三方

2. 稳定依赖原则(The Stable Dependencies Principle,SDP)

  • 依赖关系必须要指向更加稳定的方向。
  • 换言之:不稳定的组件依赖于稳定的组件,而不是相反。
  • 稳定性指标:I = 扇出依赖 / (扇入依赖 + 扇出依赖)。I越小越稳定。

3. 稳定抽象原则(The Stable Abstractions Principle,SAP)

  • 一个组件的抽象程度应该与它的稳定程度保持一致。
  • 推论:稳定组件包含更多的接口和抽象基类,不稳定组件包含更多的具体类。
  • 抽象度指标:A = (接口和抽象类数量) / 类的总数

4. 主序列

所有组件都应该位于主序列线上,不该偏离太多

main-sequence

results matching ""

    No results matching ""