软件工程(三):模块的内聚模型
2025/11/8 5:53:16
来源:https://blog.csdn.net/www_dong/article/details/147775048
浏览:
次
关键词:软件工程(三):模块的内聚模型
模块内聚的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 耦合
- 内聚:模块内部的相关性(高好)
- 耦合:模块之间的依赖性(低好)