当前位置: 首页 > news >正文

软件工程(三):模块的内聚模型

模块内聚的7种类型(从低到高)

等级类型描述示例
1️⃣ 最低偶然性内聚(Coincidental Cohesion)模块内部的各功能毫无关系,随机拼凑一个模块中既有文件读写,又有图像压缩、还处理用户登录
2️⃣逻辑性内聚(Logical Cohesion)模块中包含一组逻辑上相似但操作不同的功能,由参数决定执行哪一个handleEvent(eventType)
3️⃣时间性内聚(Temporal Cohesion)模块中操作在同一时间被执行(如程序启动时)initAll(): 打开日志、连接数据库、加载配置等
4️⃣过程性内聚(Procedural Cohesion)模块中操作按特定顺序执行,但彼此可能无明确数据联系processRequest(): 解析请求 → 验证 → 返回响应
5️⃣通讯性内聚(Communicational Cohesion)模块中所有功能操作使用相同的数据结构或文件processCustomerData(file)
6️⃣顺序性内聚(Sequential Cohesion)一个操作的输出是下一个操作的输入读取数据 → 过滤数据 → 写入数据库
7️⃣ 最高功能性内聚(Functional Cohesion)模块完成单一、清晰、定义良好的功能calculateInterest(account)

内聚的目标

  • 提高模块独立性,减少耦合
  • 提升可读性、可维护性
  • 更容易重用和测试

内聚 vs 耦合

  • 内聚:模块内部的相关性(高好
  • 耦合:模块之间的依赖性(低好
http://www.xdnf.cn/news/317251.html

相关文章:

  • 如何在大型项目中解决 VsCode 语言服务器崩溃的问题
  • 政务浏览器 一站式首页功能配置说明
  • 极狐GitLab 命名空间的类型有哪些?
  • css animation 动画属性
  • 华为昇腾910B通过vllm部署InternVL3-8B教程
  • 大模型系列(五)--- GPT3: Language Models are Few-Shot Learners
  • IPFS集群部署
  • Linux/AndroidOS中进程间的通信线程间的同步 - 信号量
  • Java游戏服务器开发流水账(1)游戏服务器的架构浅析
  • Wireshark抓账号密码
  • 一文走进GpuGeek | conda常用命令
  • Prompt(提示词)工程师,“跟AI聊天”
  • Java版ERP管理系统源码(springboot+VUE+Uniapp)
  • FID和IS的区别
  • STM32裸机开发问题汇总
  • (1-1)Java的JDK、JRE、JVM三者间的关系
  • 淘宝按图搜索商品(拍立淘)爬虫实战指南
  • 技术视界|青龙机器人训练地形详解(二):添加地形到训练环境
  • 光伏“531”政策倒逼下,光储充一体化系统如何破解分布式光伏收益困局?
  • sql错题(3)
  • 学习记录:DAY23
  • 发那科机器人3(机器人编程基础)
  • Python小酷库系列:5个常用的dict属性化访问扩展库
  • Kubernetes调度技术:污点与容忍生产级应用指南
  • Selenium使用指南
  • 7.2.安全防御
  • 一个项目的周测试的文档(Billing Service 测试文档)
  • pcie协议复位
  • 1688拍立淘搜索相似商品API接口概述,json数据示例参考
  • 适合java程序员的Kafka消息中间件实战