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