一、内聚
1.定义
一个模块内部各元素聚集、关联的程度。
定义的范围在一个模块内部。一个高内聚模块,应该恰好只做一件事。高内聚就是模块内各元素高度聚集、高度关联。
2.特点
高内聚模块具备较好的可靠性、可重用性、可读性。
3.分类
功能内聚、顺序内聚、.......、偶然内聚(排序由高内聚至低内聚)。
功能内聚——一个模块内所有元素的存在都是为了完成同一个单一功能,模块已不可再分,这是最高程度的内聚,也是我们进行软件设计时想达到的效果。
......
偶然内聚——模块内各元素之间没有任何联系,只是偶然呗凑到一起,这是最低程度的内聚,进行软件设计时应该避免。
二、耦合
1.定义
多个模块之间关联程度的度量。
定义范围在多个模块之间。耦合的程度取决于模块间接口的复杂性、调用模块的方式等。模块间的联系越多,耦合性越强,独立性就越差。
2.特点
低耦合能减少模块间的相互作用,防止修改某一模块时引起的“牵一发动全身”效应。
3.分类
数据耦合、......、公共耦合(排序由低耦合至高耦合)。
数据耦合——调用模块于被调用模块之间只传递简单的数据项参数,类似函数传参,是最低的耦合。
......
公共耦合——多个模块访问同一个全局数据结构,最高的耦合。