转自:https://blog.csdn.net/zhang_09_11/article/details/83048677
非直接耦合
非直接耦合两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。耦合度最弱,模块独立性最强。
数据耦合
数据耦合是指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
标记耦合
标记耦合是指两个模块之间有调用关系,传递的是数据结构,如高级语言的数组名、记录名、文件名等这些名字即为标记,其实传递的是数据结构的地址。
控制耦合
控制耦合是指两个模块之间有调用关系,一个模块调用另一个模块时,传递的是控制变量,如(开关、标志)等,被调模块通过该控制变量的值有选择地执行块内某个功能。
外部耦合
外部耦合是指一组模块都访问同一全局简单变量,而且不通过参数表传递全局变量的信息,称之为外部耦合。
公共耦合
公共耦合是指一组模块都访问同一全局数据结构,称之为公共耦合。
内容耦合
内容耦合是指一个模块与另一个模块的内部属性有关,不经调用直接使用另一个模块的程序代码或内部数据,称之为内容耦合。
功能内聚
功能内聚指模块内所有元素共同完成一个功能,缺一不可。
顺序内聚
顺序内聚是指一个模块中各个元素必须顺序执行,前一功能元素的输出是下一功能元素的输入。
通信内聚
通信内聚是指一个模块的所有元素都在同一数据结构上操作,称之为通信内聚。
过程内聚
过程内聚是指模块完成多个需要按一定的步骤一次完成的功能。
时间内聚
时间内聚是指一个模块完成的功能必须在同一时间内执行,称之为时间内聚。
逻辑内聚
逻辑内聚是指模块内执行多个逻辑相似的功能,通过参数确定该模块完成哪一个功能。
偶然内聚
偶然内聚是指模块中的机能只是刚好放在一起,各机能之间唯一的关系是其位置在同一模块中。