耦合与内聚
耦合性(Coupling)和内聚性(Cohesion)是衡量软件设计质量的两个重要指标。高内聚与低耦合是软件设计的目标之一。
图示1
内聚与耦合的直观表示
耦合
耦合描述的是不同模块(类、函数、服务,或者更笼统地讲,任何组件)之间的依赖关系。
模块之间的依赖关系越紧密,模块之间的影响越大,耦合性越高。耦合性高会导致小的变更容易引起大范围的修改,使得软件难以维护、扩展和重用。
内聚
内聚描述的是同一模块(组件)内部不同元素之间的联系。
模块内部的元素之间的联系越紧密,模块的功能越单一,内聚性越高。内聚性高能够将功能相近的元素组织在一起,使得模块的功能更加清晰,易于理解和维护。