《架构整洁之道》摘录 – 14.3

第 14 章 – 组件耦合 – 3

稳定依赖原则

依赖关系必须要指向更稳定的方向。

计算一个组件稳定性指标的方法:

稳定依赖原则(SDP)的要求是让每个组件的 I 指标都必须大于其所依赖组件的 I 指标。也就是说,组件结构依赖图中各组件的 I 指标必须要按其依赖关系方向递减。

如果有稳定组件(假设叫 Stable)要依赖易于变更的组件(假设叫 Flexible),违反了 SDP 原则,可以通过 DIP(依赖反转原则)来修复这个问题。具体步骤:

  1. 找到 Stable 组件中的某个类 U 需要使用 Flexible 组件中的一个类 C
  2. 创造一个 UServer 组件,并在其中设置一个 US 接口类
  3. 确保 US 接口类中包含了所有 U 需要使用的函数
  4. 类 C 实现 US 接口类

这样一来,Stable 和 Flexible 的依赖关系就打破了,这两个组件都依赖于 UServer 组件。