内聚是一个模块内部各成分之间的相关联程度。这里就想到了耦合,耦合也是一种联系,但是耦合是模块之间的联系。
模块内聚:内聚性越高,模块独立性越强
功能内聚,信息内聚,通信内聚是低内聚
过程内聚,时间内聚为中内聚逻辑内聚,巧合内聚是高内聚
功能内聚:每个模块都完成单一功能,最理想。
信息内聚:完成多个功能,每个功能都在同一数据结构,每个功能有一个唯一入口点。
通信内聚:模块内各功能使用相同的输入数据,或产生相同的输出数据。
“打印检验结果”,“计算A”,“计算B”是通信内聚,因为它们都接收了“读文件”的输入。而“计算A”,“计算B”,“读卡文件”共同输出,所以也是通信内聚。
过程内聚:流程图中某一部分划出组成模块。
时间内聚:任务在同一时间段完成,只执行一次,可能会影响到其他模块。
逻辑内聚:把几种相关功能组合在一起。
效率并不高,浪费内存
巧合内聚:各部分间没有联系,或者联系很松散。就像这图中的A,B,C。
所以,真理就是,高内聚,低耦合。