耦合分类

内容耦合

一个模块直接引用另一个模块的内部代码,典型例子就是:一个模块把所有功能做完,没有任何拆分;

公共耦合

一组模块共同引用一个全局复杂数据项。共同访问一个文件、设备、共享内存等,一旦文件格式发生变化,所有模块就得变动。例如有两个函数或类完成同一个功能,这种冗余也是公告耦合;

外部耦合

一组模块都访问同一全局简单数据项。例如C语言程序中各个模块都访问被说明为extern类型的外部变量;

控制耦合

一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能。

实质是在单一接口上选择多功能模块中的某项功能(类似于ioctl函数)。因此,对被控制模块的任何修改都会影响控制模块的逻辑。另外,控制耦合也意味着控制模块必须知道所控制模块内部的一些逻辑关系,严重违反了最少知道原则;

标记耦合

模块间通过参数传递复杂的内部数据结构。一旦一个模块需要对数据结构调整,其他模块都要跟着调整。可以通接口封装对这个复杂数据的访问操作;

数据耦合

模块间通过参数传递基本类型的数据,称为数据耦合;

非直接耦合

模块间没有信息传递时,属于非直接耦合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值