数据耦合、标记耦合、控制耦合、内容耦合
数据耦合:如果一个模块访问另外一个模块的时候,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。
标记耦合:是指两个模块之间传递的是数据结构,如高级语言的数组名、记录名、文件名等这些名字即为标记,其实传递的是这个数据结构的地址
控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一个模块的功能,就是控制耦合。
内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合。
==一个模块直接访问另一个模块的内部数据
==一个模块不通过正常入口转到另一个模块内部
==两个模块有一部分程序代码重叠(只可能出现在汇编语言中)。
==一个模块有多个入口。
特别需要注意的是:我们在做题的时候,还是需要把握各种耦合情况定义所涉及到的关键字的。