跳到主要内容

耦合与内聚

耦合性(Coupling)和内聚性(Cohesion)是衡量软件设计质量的两个重要指标。高内聚低耦合是软件设计的目标之一。

图示1

内聚与耦合的直观表示内聚与耦合的直观表示

耦合

耦合描述的是不同模块(类、函数、服务,或者更笼统地讲,任何组件)之间的依赖关系。

模块之间的依赖关系越紧密,模块之间的影响越大,耦合性越高。耦合性高会导致小的变更容易引起大范围的修改,使得软件难以维护、扩展和重用。

内聚

内聚描述的是同一模块(组件)内部不同元素之间的联系。

模块内部的元素之间的联系越紧密,模块的功能越单一,内聚性越高。内聚性高能够将功能相近的元素组织在一起,使得模块的功能更加清晰,易于理解和维护。


Footnotes

  1. 图片来源于 https://medium.com/wix-engineering/what-exactly-does-low-coupling-high-cohesion-mean-9259e8225372