耦合性什么意思 耦合性和内聚性是什么意思

本文章由注册用户 芝士球球 上传提供 评论 发布 纠错/删除 版权声明 0
摘要:耦合性是什么意思?很多小伙伴可能经常听到耦合性这个词但是并不知道这个词的具体含义是什么,其实耦合性是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。那么耦合性和内聚性又是什么意思呢?耦合性的七种类型是什么?下面小编就来为大家解答这些问题,感兴趣的朋友就一起来看看吧。

耦合性什么意思

耦合性,也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。

模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差(降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。

形象的说,就是要将代码写的和主机的排线一样,低耦合的模块好像你看你主机排线中的随便一条就知道这条线是干啥一样拔掉会不会影响其他排线的功能一样,低耦合的模块就好比鼠标线一样拔掉它只影响它自身的鼠标功能,高耦合的模块就好比主机电源线一拔掉不只影响它自身的功能其他功能也被影响了。

耦合性和内聚性是什么意思

1、耦合性(块间联系)

指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

2、内聚性(块内联系)

指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

因此,现代程序讲究高内聚低耦合,即将功能内聚在同一模块,模块与模块间尽可能独立,互相依赖低。没有绝对没有耦合的模块组,只有尽量降低互相之间的影响,使模块越独立越好。

耦合性的七种类型

1、非直接耦合

如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。

2、数据耦合

如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。由于限制了只通过参数表传递数据,按数据耦合开发的程序界面简单、安全可靠。因此,数据耦合是松散的耦合,模块之间的独立性比较强。在软件程序结构中至少必须有这类耦合。

3、标记耦合

如果一组模块通过参数表传递记录信息,就是标记耦合。事实上,这组模块共享了这个记录,它是某一数据结构的子结构,而不是简单变量。这要求这些模块都必须清楚该记录的结构,并按结构要求对此记录进行操作。在设计中应尽量避免这种耦合,它使在数据结构上的操作复杂化了。如果采取“信息隐蔽”的方法,把在数据结构上的操作全部集中在一个模块中,就可以消除这种耦合。

4、控制耦合

如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。这种耦合的实质是在单一接口上选择多功能模块中的某项功能。因此,对所控制模块的任何修改,都会影响控制模块。另外,控制耦合也意味着控制模块必须知道所控制模块内部的一些逻辑关系,这些都会降低模块的独立性。

5、外部耦合

一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

6、公共耦合

若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的互联网数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。

7、内容耦合

如果发生下列情形,两个模块之间就发生了内容耦合。

(1)一个模块直接访问另一个模块的内部数据。

(2)一个模块不通过正常入口转到另一模块内部。

(3)两个模块有一部分程序代码重叠(只可能出现在汇编语言中)。

(4)一个模块有多个入口。

网站提醒和声明
本站为注册用户提供信息存储空间服务,非“MAIGOO编辑”、“MAIGOO榜单研究员”、“MAIGOO文章编辑员”上传提供的文章/文字均是注册用户自主发布上传,不代表本站观点,版权归原作者所有,如有侵权、虚假信息、错误信息或任何问题,请及时联系我们,我们将在第一时间删除或更正。 申请删除>> 纠错>> 投诉侵权>> 网页上相关信息的知识产权归网站方所有(包括但不限于文字、图片、图表、著作权、商标权、为用户提供的商业信息等),非经许可不得抄袭或使用。
提交说明: 快速提交发布>> 查看提交帮助>> 注册登录>>
最新评论
相关推荐
十大泰国网站排名 泰国主流网站有哪些 泰国人常用的网站盘点
泰国有着悠久的历史,在历史文化、生活习俗等方面,与中国有着截然不同的表现。本文中maigoo小编整理了一批泰国主流网站,包括Sanook、Wong Nai、Easybook,以及Thai Ticket Major、暹罗早报、Mthai、Central Online、HomePro、Advice等。这些泰国常用网站各有特点,可以满足不同人群的使用需要。一起详细了解下。
互联网 科技/发明 ★★★
2600 1
十大好用的生物学网站 知名生物网站有哪些 常用生物类网站推荐
生物学是自然科学的一个部分。发展生物学,可以帮助我们更好的了解这个世界。本文中,MAIGOO小编为大家整理了一批有关生物的网站,包括NCBI美国国家生物技术信息中心、CNGB深圳国家基因库、英格恩生物技术博客、PDB蛋白质数据库等。这些生物类网站能够提供不同类型的信息,满足不同人群的信息需求。一起来详细了解下。
互联网 科技/发明 ★★★
4581 2
台湾十大主流新闻网站 中国台湾新闻网站排名 台湾著名新闻媒体网站
台湾省与内地的新闻市场有着明显差异,运作模式和观点输出都与众不同。那么你知道台湾新闻网站有哪些吗?本文中MAIGOO小编为大家带来了一份台湾新闻评论网站名单,其中的中时新闻网、ETtoday新闻云、联合新闻网,以及Yahoo奇摩、中视新闻台、TVBS新闻网等,都是用户较多的台湾著名新闻媒体。一起来了解下。
新闻资讯APP 互联网 ★★★
3.8w+ 9
十大高质量自学网站 学习网站哪个好 网上学技能的网站
在网络学习资源越来越丰富的今天,人们获取知识的途径也更加多元、便利。本文中买购编辑为大家带来了一份自学网站推荐名单,其中有大学资源网、我要自学网、学堂在线、中国大学MOOC、中国高校外语慕课平台、人人自学网等较具代表性的十大自学网站。下面一起详细了解下这些能在网上学技能的网站。
网课 互联网 ★★★
4.7w+ 11
2023智能风控企业50强榜单揭晓 2023中国风控公司有哪些
互联网周刊发布了“2023智能风控企业50强榜单”。智能风控是指利用大数据、人工智能技术等技术实现更高效、精确和及时的风险识别和管理,是金融科技领域的重要发展方向。其中蚂蚁集团、科蓝软件、京东科技、马上消费等企业都是行业佼佼者,下面跟随小编一起来看看中国风控公司有哪些吧。