软件设计原则之高内聚与低耦合
2018-03-09 20:29
232 查看
内聚:只模块内部各元素之间联系的紧密程度,也就是代码功能的集中程度。耦合是指模块之间相互联系的紧密程度。
下面介绍七种常见的内聚类型与耦合类型。
根据内聚度从高到低排序:
功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。
顺序内聚:处理元素相关,而且必须顺序执行。
通信内聚:所有处理元素集中在一个数据结构的区域上。
过程内聚:处理元素相关,而且必须按特定的次序执行。
瞬时内聚:所包含的任务必须同时在同一时间内执行(如初始化模块)。
逻辑内聚:完成逻辑上相关的一组任务。
偶然内聚:完成一组没有关系或松散关系的任务
根据耦合度从低到高排序:
非直接耦合:没有直接联系,互不依赖对方。
数据耦合:借助参数传递简单数据。
标记耦合:一个数据结构的一部分借助模块接口被传递。
控制耦合:模块间传递的信息包括用于控制模块内部逻辑的信息。
外部耦合:与软件外部的环境有关。
公共耦合:多个模块引用同一个全局数据区。
内容耦合:一个模块访问另一个模块的内部数据。一个模块不通过正常入口转入另一模块的内部。两个模块有一部分代码重叠。一个模块有多个入口。
下面介绍七种常见的内聚类型与耦合类型。
根据内聚度从高到低排序:
功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。
顺序内聚:处理元素相关,而且必须顺序执行。
通信内聚:所有处理元素集中在一个数据结构的区域上。
过程内聚:处理元素相关,而且必须按特定的次序执行。
瞬时内聚:所包含的任务必须同时在同一时间内执行(如初始化模块)。
逻辑内聚:完成逻辑上相关的一组任务。
偶然内聚:完成一组没有关系或松散关系的任务
根据耦合度从低到高排序:
非直接耦合:没有直接联系,互不依赖对方。
数据耦合:借助参数传递简单数据。
标记耦合:一个数据结构的一部分借助模块接口被传递。
控制耦合:模块间传递的信息包括用于控制模块内部逻辑的信息。
外部耦合:与软件外部的环境有关。
公共耦合:多个模块引用同一个全局数据区。
内容耦合:一个模块访问另一个模块的内部数据。一个模块不通过正常入口转入另一模块的内部。两个模块有一部分代码重叠。一个模块有多个入口。
相关文章推荐
- 基于BREW平台的松耦合设计III-可移植、可复用软件的设计原则
- 委托模式与工厂方法——低耦合与高内聚设计原则初探续
- 模块化编程设计原则:高内聚,低耦合
- IOS 动画设计(1)——高内聚,低耦合原则
- 软考(三)模块设计原则之内聚和耦合
- 连载:面向对象葵花宝典:思想、技巧与实践(28) - 设计原则:内聚&耦合
- 连载:面向对象葵花宝典:思想、技巧与实践(28) - 设计原则:内聚&耦合
- 面向对象设计原则—高内聚、低耦合。多聚合、少继承
- 软件的架构与设计模式之层次原则
- 软件设计通用原则整理
- 软件开发时设计时要遵循的原则
- 软件实体的设计原则
- [转载]软件开发中的问题:什么是高内聚、低耦合?
- 软件界面设计原则
- 架构演化中的软件设计原则
- 软件设计原则与模式
- 软件设计中的原则(GRASP)
- 面向对象三大特性五大原则 + 低耦合高内聚
- 软件开发技术:SOLID设计原则
- 软件设计中的原则(GRASP)