软件设计原则之内聚、耦合类型剖析与内聚度、耦合度比较


前言

高内聚、低耦合是我们在软件设计过程中必须遵循的一个重要原则,在整个软件工程中占有很大的比重。而对于内聚和耦合你还是仅仅局限于“高内聚,低耦合”的模糊概念吗?那你是如何判断何为高低呢?本篇文章将带你分别深度剖析和总结内聚与耦合的 7 种类型和描述,为在以后的项目开发与考试中更好地判断类型助你一臂之力!

在这里插入图片描述


一、何为内聚?

内聚是指模块内部各元素之间联系的紧密程度,也就是代码功能的集中程度。

1.1、7 种内聚类型及其描述

模块的内聚类型通常可以分为 7 种,我们根据内聚度从高到低排序,如下表所示:

内聚类型 描述
功能内聚 完成一个单一功能,各个部分协同工作,缺一不可
顺序内聚 处理元素相关,而且必须顺序执行
通信内聚 所有处理元素集中在一个数据结构的区域上
过程内聚 处理元素相关,而且必须按特定的次序执行
瞬时内聚 所包含的任务必须在同一时间间隔内执行(如:初始化模块)
逻辑内聚 完成一组逻辑上相关的任务
偶然内聚 完成一组没有关系或松散关系的任务

二、何为耦合?

耦合是指模块之间相互联系的紧密程度。

2.1、7 种耦合类型及其描述

模块的耦合性类型通常分为 7 种,我们根据耦合度从低到高排序,如下表所示:

耦合类型 描述
非直接耦合 没有直接联系,互相不依赖对方
数据耦合 借助参数表传递简单数据
标记耦合 一个数据结构的一部分借助于模块接口被传递
控制耦合 模块间传递的信息中包含用于控制模块内部逻辑的信息
外部耦合 与软件以外的环境有关
公共耦合 多个模块引用同一个全局数据区
内容耦合 一个模块访问另一个模块的内部数据
一个模块不通过正常入口转到另一模块的内部
两个模块有一部分程序代码重叠
一个模块有多个入口

总结

本文给大家介绍了软件设计原则中两个核心概念——内聚、耦合,并对两个概念进行了阐述。同时分别补充了内聚与耦合各自的 7 种类型,便于我们判别其程度,在开发中更好地设计性能优良的软件系统,尽量的减少由于内聚、耦合度差带来后期维护和升级的困扰。

在这里插入图片描述


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!
更多资讯微信搜索公众号【WDeerCode代码圈

猜你喜欢

转载自blog.csdn.net/qq_22695001/article/details/109254666