耦合是什么 耦合有哪些种类

耦合是对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。


模块间的耦合度强烈影响着系统的可理解性可测试性可靠性可维护性

  • 耦合程度最低:两个模块每个都能独立工作,而不需要系统对其他模块有更多了解。
  • 数据耦合(低耦合):两个模块之间通过参数交换信息
  • 控制耦合(中度耦合):传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现)。可以适当分解后用数据耦合替代
  • 特征耦合:被调用的模块可使用的数据多于它确实需要的数据
  • 公共环境耦合:两个或多个模块通过公共环境相互作用

公共环境耦合只有两个模块时有以下两种情况
    1.一个模块放数据,一个模块取数据。这是数据耦合的一个形式,是比较松散的耦合
    2.两个模块都往公共环境里放取数据,这种耦合比较紧密,介于数据耦合和控制耦合之间
两个模块共享数据很多,通过传参数不方便,就利用公共环境耦合

  • 内容耦合(最高程度的耦合):下列情况有一个,就发生了内容耦合
  • 一个模块访问另一个模块的内部数据
  • 一个模块不能通过正常入口而转到另一个模块内部
  • 两个模块有一部分程序代码重叠(只可能出现在汇编程序中)
  • 一个模块有多个入口(这意味着一个模块有几种功能)

总结,耦合是影响软件复杂程度的重要因素。应该采取下述设计原则
尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合

什么是内聚icon-default.png?t=LA92https://blog.csdn.net/weixin_57604284/article/details/121299587?spm=1001.2014.3001.5501

  • 12
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值