内聚程度、耦合程度
内聚程度从低到高(从最差到最好)
内聚分类 | 定义 |
---|---|
偶然内聚 | 一个模块内的各处理元素之间没有任何联系 |
逻辑内聚 | 模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能 |
时间内聚 | 把需要同时执行的动作组合在一起形成的模块 |
过程内聚 | 一个模块完成多个任务,这些任务必须按指定的过程执行 |
通信内聚 | 模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据 |
顺序内聚 | 一个模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前一个功能元素的输出就是下一个功能元素的输入 |
功能内聚 | 最高的内聚,模块内的所有元素共同作用完成一个功能,缺一不可 |
耦合程度从低到高(从最好到最差)
耦合分类 | 定义 |
---|---|
非直接耦合 | 最低耦合。两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,不传递任何信息 |
数据耦合 | 两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递 |
标记耦合 | 两个模块之间传递的是数据结构 |
控制耦合 | 一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择的执行模块内的某一功能 |
通信耦合 | 一组模块共用了一组输入信息,或者它们的输出需要整合以形成完整数据,即共享了输入或输出 |
公共耦合 | 通过一个公共数据环境相互作用的那些模块间的耦合 |
内容耦合 | 当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时 |
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 软件从业者Hort
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果