http://www.Sina.com/http://www.Sina.com/:每个模块尽可能实现其自己的功能,而不依赖于模块外部的代码。
高内聚、低耦合:模块和模块之间接口的复杂性。 模块之间的联系越复杂,结合度越高,牵一发而动全身。
内聚:大幅提高模块的“可复用性”、“可移植性”。
通常,程序结构中各模块的内聚度越高,模块之间的耦合度就越低。
模块粒度:
【函数】
独立:尽可能地,每个类成员方法只能做一件事。 ((最大限度的聚合) ) ) ) ) ) ) ) )。
耦合:减少类中一个成员调用另一个成员方法。
【等级】
高聚集低耦合:减少类内部,对其他类的调用。
【功能块】
凝聚低结合:减少模块之间相互作用的复杂性(接口数、参数数据) ) ) ) ) )。
目的:类与类之间、模块与模块之间
高内聚:跨层
尽量汇总内容,合并数据。
低耦合
凝聚是从功能的角度来衡量模块内的联系,好的凝聚模块正好需要做一件事。 描述模块内功能联系的联接是软件结构中各模块之间互连的量度,联接的强度取决于模块之间接口的复杂性、访问或访问模块的点以及通过接口的数据高内聚低耦合是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要看类的内部举办是否高,耦合度是否低。 模块独立性是指各模块只完成系统要求的独立子功能,且与其他模块联系最少,且接口简单,两个定性衡量标准——耦合性和内聚性。横向
模块间耦合的高低取决于模块间接口的复杂度、调用的方式以及所传递的信息。
纵向:直接联接、数据联接、标记联接、控制联接、公共联接、无内容联接;
无直接结合
数据合并:
两个模块之间存在调用关系,通过传递简单的数据值,相当于高级语言的传递。 标注联接:
在两个模块之间传递的是数据结构,例如高级语言数组名称、记录名称、文件名等标记实际上传递的是该数据结构的地址。 联轴器控制:
当一个模块调用另一个模块时,传递开关、标志等控制变量,协调模块根据控制变量的值选择性地执行块内的某些功能。 公共耦合:
指通过共同数据环境进行交互的任何模块之间的耦合。 耦合的复杂度随着耦合模块数量的增加而增加。 内容合并:
这是最高级的耦合,也是最差的耦合。 一个模块直接使用另一个模块的内部数据,或者通过非法条目转移到另一个模块内部。高内聚低耦合
耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。偶然聚集、逻辑聚集、时间聚集、通信聚集、顺序聚集、功能聚集。
偶然凝聚:
指一个模块内各处理元件之间没有任何联系。 逻辑凝聚:
指在模块内执行一些逻辑相似的功能,通过参数决定该模块完成哪些功能。 时间凝聚:
由应同时执行的动作组合而成的模块称为时间凝聚模块。 通信凝聚:
意味着模块中的所有处理元件在同一数据结构上操作,或者每个处理使用相同的输入数据或生成相同的输出数据。 顺序凝聚:
指定模块中的各个处理元件与相同的功能密切相关并且需要按顺序执行,上述功能元件的输出是下一个功能元件的输入。 功能凝聚:
这是最强烈的凝聚,意味着模块内所有元素共同发挥一个功能,缺一不可。 与其他模块的结合最弱。耦合性分类(低高)