文章目录
- 前言
- 一、何为内聚?
- 1.1、7 种内聚类型及其描述
- 二、何为耦合?
- 2.1、7 种耦合类型及其描述
- 总结
前言
高内聚、低耦合是我们在软件设计过程中必须遵循的一个重要原则,在整个软件工程中占有很大的比重。而对于内聚和耦合你还是仅仅局限于“高内聚,低耦合”的模糊概念吗?那你是如何判断何为高低呢?本篇文章将带你分别深度剖析和总结内聚与耦合的 7 种类型和描述,为在以后的项目开发与考试中更好地判断类型助你一臂之力!
一、何为内聚?
内聚是指模块内部各元素之间联系的紧密程度,也就是代码功能的集中程度。
1.1、7 种内聚类型及其描述
模块的内聚类型通常可以分为 7 种,我们根据内聚度从高到低排序,如下表所示:
内聚类型 | 描述 |
---|---|
功能内聚 | 完成一个单一功能,各个部分协同工作,缺一不可 |
顺序内聚 | 处理元素相关,而且必须顺序执行 |
通信内聚 | 所有处理元素集中在一个数据结构的区域上 |
过程内聚 | 处理元素相关,而且必须按特定的次序执行 |
瞬时内聚 | 所包含的任务必须在同一时间间隔内执行(如:初始化模块) |
逻辑内聚 | 完成一组逻辑上相关的任务 |
偶然内聚 | 完成一组没有关系或松散关系的任务 |
二、何为耦合?
耦合是指模块之间相互联系的紧密程度。
2.1、7 种耦合类型及其描述
模块的耦合性类型通常分为 7 种,我们根据耦合度从低到高排序,如下表所示:
耦合类型 | 描述 |
---|---|
非直接耦合 | 没有直接联系,互相不依赖对方 |
数据耦合 | 借助参数表传递简单数据 |
标记耦合 | 一个数据结构的一部分借助于模块接口被传递 |
控制耦合 | 模块间传递的信息中包含用于控制模块内部逻辑的信息 |
外部耦合 | 与软件以外的环境有关 |
公共耦合 | 多个模块引用同一个全局数据区 |
内容耦合 | 一个模块访问另一个模块的内部数据一个模块不通过正常入口转到另一模块的内部两个模块有一部分程序代码重叠一个模块有多个入口 |
总结
本文给大家介绍了软件设计原则中两个核心概念——内聚、耦合,并对两个概念进行了阐述。同时分别补充了内聚与耦合各自的 7 种类型,便于我们判别其程度,在开发中更好地设计性能优良的软件系统,尽量的减少由于内聚、耦合度差带来后期维护和升级的困扰。
我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!