前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软考高级架构师:AI通俗讲解功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚

软考高级架构师:AI通俗讲解功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚

作者头像
明明如月学长
发布2024-05-25 10:38:01
1390
发布2024-05-25 10:38:01
举报
文章被收录于专栏:明明如月的技术专栏

内聚性是软件工程中的一个重要概念,它描述了一个模块内部各个元素之间的紧密程度。内聚性强的模块意味着模块内部的功能紧密相关,这通常能提高模块的可重用性和可维护性。内聚性可以分为多种类型,每种类型都有其特点和适用场景。

1. 功能内聚(Functional Cohesion)

功能内聚是最理想的内聚类型,它指模块内的所有元素都共同完成一个单一的功能。可以想象成一个咖啡机,它的设计目的就是为了冲泡咖啡,所有部件都是为了这一功能服务的。

2. 顺序内聚(Sequential Cohesion)

顺序内聚发生在一个模块中的元素输出是另一个元素的输入。比如,在汽车制造线上,一个工位负责安装轮胎,然后下一个工位是进行轮胎检验的,每个工位的任务都是顺序进行的。

3. 通信内聚(Communicational Cohesion)

通信内聚是指模块中的组件是为了操作同一数据集(例如数据库表)而工作的。例如,一个财务软件模块,它可以包括计算税收、生成财务报表等功能,这些功能都在处理同一批财务数据。

4. 过程内聚(Procedural Cohesion)

过程内聚是指模块中的元素是为了完成某个特定的过程而聚集的,但这些过程并非形成单一的功能。例如,一个文档处理模块可能会包括打开文件、格式化文本和打印文件的功能,这些功能都是按顺序执行的,但并不是为了完成一个独立的功能。

5. 时间内聚(Temporal Cohesion)

时间内聚是指模块中的功能是基于它们在同一时间执行的事实组合的。例如,程序启动时需要执行的一系列初始化功能,如配置内存、加载用户设置等,都是因为它们在相同的时期(启动时)执行。

6. 逻辑内聚(Logical Cohesion)

逻辑内聚是指模块中的元素聚合在一起是因为它们逻辑上类似,通常通过一个控制逻辑(如if-else结构)来选择执行哪个功能。比如,一个应用程序可以有一个打印模块,用于打印文本文件、图像或PDF,用户选择什么文件类型,就执行相应的打印任务。

7. 偶然内聚(Coincidental Cohesion)

偶然内聚是最低级的内聚形式,指模块中的元素毫无逻辑地放在一起。这就像是一个工具箱,里面既有锤子也有螺丝刀和胶带,这些工具之间没有直接的关系,只是碰巧放在一起。

总结来说,理想的内聚类型是功能内聚,因为它确保模块高度集中于执行单一任务,易于理解和维护。而偶然内聚则应该尽量避免,因为它使模块变得杂乱无章,难以维护和扩展。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 功能内聚(Functional Cohesion)
  • 2. 顺序内聚(Sequential Cohesion)
  • 3. 通信内聚(Communicational Cohesion)
  • 4. 过程内聚(Procedural Cohesion)
  • 5. 时间内聚(Temporal Cohesion)
  • 6. 逻辑内聚(Logical Cohesion)
  • 7. 偶然内聚(Coincidental Cohesion)
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档