前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件设计原则:内聚、耦合有哪几种类型?内聚度、耦合度如何比较?

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

作者头像
白鹿第一帅
发布2022-05-08 11:30:16
2K0
发布2022-05-08 11:30:16
举报

文章目录

前言

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

在这里插入图片描述
在这里插入图片描述

一、何为内聚?

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

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

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

内聚类型

描述

功能内聚

完成一个单一功能,各个部分协同工作,缺一不可

顺序内聚

处理元素相关,而且必须顺序执行

通信内聚

所有处理元素集中在一个数据结构的区域上

过程内聚

处理元素相关,而且必须按特定的次序执行

瞬时内聚

所包含的任务必须在同一时间间隔内执行(如:初始化模块)

逻辑内聚

完成一组逻辑上相关的任务

偶然内聚

完成一组没有关系或松散关系的任务

二、何为耦合?

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

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

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

耦合类型

描述

非直接耦合

没有直接联系,互相不依赖对方

数据耦合

借助参数表传递简单数据

标记耦合

一个数据结构的一部分借助于模块接口被传递

控制耦合

模块间传递的信息中包含用于控制模块内部逻辑的信息

外部耦合

与软件以外的环境有关

公共耦合

多个模块引用同一个全局数据区

内容耦合

一个模块访问另一个模块的内部数据一个模块不通过正常入口转到另一模块的内部两个模块有一部分程序代码重叠一个模块有多个入口

总结

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-02-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、何为内聚?
    • 1.1、7 种内聚类型及其描述
    • 二、何为耦合?
      • 2.1、7 种耦合类型及其描述
      • 总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档