内聚原则

组件内聚原则说明什么东西应该聚合在一起,放在同一个组件中。

1. 重用/发布等价原则(The Reuse/Release Equivalence Principle,REP)

  • 重用的粒度就是发布的粒度
  • 意味着组件中的所有类必须是紧密相关的,需要共同发布

2. 共同封闭原则(The Common Closure Principle,CCP)

  • 将那些会同时修改而且修改目的相同的类放到同一个组件中,而将不会同时修改或修改目的不同的类放入不同的组件中。
  • 是单一职责原则(SRP)在组件层面的运用
  • 意味着应该将某一类变更所涉及的类聚合在同一个组件中,使得变更造成的影响尽可能局部化。

3. 共同重用原则(The Common Reuse Principle,CRP)

  • 不要强迫组件的用户依赖于他不需要的东西。
  • 是接口隔离原则(ISP)在组件层面的运用。
  • 意味着如果客户代码依赖于一个组件时,它应该依赖于组件中所有的而不是部分的类。

4. 组件内聚张力图

  • REP和CCP是黏合性原则,倾向于使组件变大;CRP是排除性原则,倾向于使组件变小
  • 架构师的责任是在三者之间做出权衡取舍,找到合适的度。
  • 一般而言,项目早期会从三角形的右侧开始,随后逐渐向左移动。

cohesion-tension

results matching ""

    No results matching ""