软件工程——模块的耦合类型

耦合: 软件结构内不同模块彼此之间相互依赖(连接)的紧密程度。是衡量软件结构质量好坏的度量,是对模块独立性的直接衡量指标。

在软件设计中应追求尽可能松散耦合,避免强耦合。模块的耦合越松散,模块间的联系就越小,模块的独立性也就越强。

耦合类型

一般可以将模块的耦合分为四类:数据耦合、控制耦合、公共环境耦合和内容耦合。

1.数据耦合

如果两个模块之间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合。
在这里插入图片描述

链接: http://yanhaijing.com/coupling/demo6/demo.html.

2.控制耦合

模块之间传递的不是数据信息,而是控制信息例如标志、开关量等,一个模块控制了另一个模块的功能。
控制耦合往往是多余的,在把模块适当分解之后通常可以用数据耦合代替它。
在这里插入图片描述

3.公共环境耦合

当两个或多个模块通过一个公共数据环境相互作用时,它们之间的耦合称为公共环境耦合(即公用耦合)。公共环境可以是全局变量、共享的童心去、内存的公共覆盖区、任何存储介质上的文件、物理设备。
当模块有公共环境时,这种耦合有下述两种可能:
(1)松散的公用耦合
一个模块往公共环境送数据,另一个模块从公共环境取数据
松散的公用耦合
(2)紧密的公用耦合
两个模块都既往公共环境送数据又从里面取数据,这种耦合比较紧密,介于数据耦合和控制耦合之间
紧密的公用耦合

4.内容耦合

最高程度的耦合是内容耦合。又称为“病态耦合”
(1)一个模块访问另一个模块的内部数据;
(2)一个模块不通过正常入口而转到另一个模块的内部;
(3)两个模块有一部分程度代码重叠(只可能出现在汇编程序中);
(4)一个模块有多个入口(这表明一个模块有几种功能)。
在这里插入图片描述
应该坚决避免使用内容耦合。

  • 5
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值