内聚:只模块内部各元素之间联系的紧密程度,也就是代码功能的集中程度。耦合是指模块之间相互联系的紧密程度。
下面介绍七种常见的内聚类型与耦合类型。
根据内聚度从高到低排序:
功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。
顺序内聚:处理元素相关,而且必须顺序执行。
通信内聚:所有处理元素集中在一个数据结构的区域上。
过程内聚:处理元素相关,而且必须按特定的次序执行。
瞬时内聚:所包含的任务必须同时在同一时间内执行(如初始化模块)。
逻辑内聚:完成逻辑上相关的一组任务。
偶然内聚:完成一组没有关系或松散关系的任务
根据耦合度从低到高排序:
非直接耦合:没有直接联系,互不依赖对方。
数据耦合:借助参数传递简单数据。
标记耦合:一个数据结构的一部分借助模块接口被传递。
控制耦合:模块间传递的信息包括用于控制模块内部逻辑的信息。
外部耦合:与软件外部的环境有关。
公共耦合:多个模块引用同一个全局数据区。
内容耦合:一个模块访问另一个模块的内部数据。一个模块不通过正常入口转入另一模块的内部。两个模块有一部分代码重叠。一个模块有多个入口。