一、前言
模块独立是指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系简单。而衡量模块独立的标准就是:耦合性和内聚性。我们要做到模块间的高内聚和低耦合。
二、耦合
耦合指的是模块间的联系紧密程度。 低耦合~~
图一 耦合
非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。耦合度最弱,模块独立性最强。
数据耦合:调用模块和被调用模块之间只传递简单的数据项参数。相当于高级语言中的值传递。
标记耦合:调用模块和被调用模块之间传递数据结构而不是简单数据,同时也称作特征耦合。表就和的模块间传递的不是简单变量,而是像高级语言中的数据名、记录名和文件名等数据结果,这些名字即为标记,其实传递的是地址。
控制耦合:模块之间传递的不是数据信息,而是控制信息例如标志、开关量等,一个模块控制了另一个模块的功能。
公共耦合:一组模块都访问同一个全局数据结构,则称之为公共耦合。
内容耦合:最高耦合,一个模块直接访问另一模块的内容,则称这两个模块为内容耦合。或者通过非正常入口而转入另一个模块的内部。
三、内聚
内聚指的是模块内部各个元素之间联系的紧密程度。高内聚~~~
图二 内聚
偶然内聚:一个模块内的各处理元素之间没有任何联系,只是偶然地被凑到一起。这种模块也称为巧合内聚,内聚程度最低。
逻辑内聚:这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能 。
时间内聚:把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。
通信内聚:模块内元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或者产生相同的输出数据。
顺序内聚:一个模块中各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行,通常前一个处理元素的输出时后一个处理元素的输入。
功能内聚:最强,模块内所有元素共同完成一个功能,缺一不可。
四、小结
出来混吃迟早是要还的,这一块的知识在刚开始学习的时候就没有总结,到后来用到了,才开始,真是应该去好好的做做啊!加油!检查就是胜利。