高内聚与低耦合

来源:互联网 发布:李连杰新加坡知乎 编辑:程序博客网 时间:2024/04/29 17:19

内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。

所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。

高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。
耦合按从强到弱的顺序可分为以下几种类型:

(1)内容耦合。当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。

(2)公共耦合。两个以上的模块共同引用一个全局数据项就称为公共耦合。

(3)控制耦合。一个模块在界面上传递一个信号(如开关值、标志量等)控制另一个模块,接收信号的模块的动作根据信号值进行调整,称为控制耦合。

(4)标记耦合。模块间通过参数传递复杂的内部数据结构,称为标记耦合。此数据结构的变化将使相关的模块发生变化。

(5)数据耦合。模块间通过参数传递基本类型的数据,称为数据耦合。

(6)非直接耦合。模块间没有信息传递时,属于非直接耦合。
 内聚度按其高低程度可分为7级,内聚度越高越好。最差的称为偶然内聚(coincidental cohesion)
 功能内聚是最高程度的内聚形式

0 0