欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

软件设计原则:内聚、耦合有哪几种类型?内聚度、耦合度如何比较?

发布时间:2025/3/8 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 软件设计原则:内聚、耦合有哪几种类型?内聚度、耦合度如何比较? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 前言
  • 一、何为内聚?
    • 1.1、7 种内聚类型及其描述
  • 二、何为耦合?
    • 2.1、7 种耦合类型及其描述
  • 总结


前言

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


一、何为内聚?

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

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

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

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

二、何为耦合?

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

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

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

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

总结

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


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!

总结

以上是生活随笔为你收集整理的软件设计原则:内聚、耦合有哪几种类型?内聚度、耦合度如何比较?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。