软件工程 总结各种coupling和cohesion
Posted Sharon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程 总结各种coupling和cohesion相关的知识,希望对你有一定的参考价值。
coupling和cohesion都是按照从好到坏排序的
对于好的software design,应该有较高的cohesion和较低的coupling.
5个coupling:
- data coupling 共享原子数据
- stamp coupling 共享复杂数据结构(其实只用到了数据结构的一小部分)
- control coupling 一个给另一个传参数 调用被调用模块的一小部分
- common coupling 都能够写全局变量
- content coupling 一个模块直接引用另一个模块
7个cohesion:
- information cohesion 每个活动(activity)都有独立代码 都在同一个数据结构上操作
- functional cohesion 模块里面的所有活动都为了同一个task或者function
- communicational cohesion 模块中两个活动因为某个流程而相互关联 且操作同一个数据结构(e.g. 更新数据库信息并把数据库信息发送到打印机)
- procedural cohesion 两个活动因为某个流程而相互关联
- temporal cohesion 活动因为时序而相互关联
- logical cohesion 模块中的活动是逻辑上而不是功能上相关
- coincidental cohesion 模块里面有的功能不相关
以上是关于软件工程 总结各种coupling和cohesion的主要内容,如果未能解决你的问题,请参考以下文章
[CC-COUPLES]Couples sit next to each other