标签:span 没有 组成 相关性 ash tag color 组合 info
一个处理正方形的模块有两个功能:计算面积,画出这个正方形。
改进:分成两个模块,计算面积和画出正方形
一个模块负责打印季度开支报告、月份开支报告和日开支报告,具体打印哪一个报告由传入的控 制标志决定,这个模块具有逻辑性内聚。
改进:建立三个模块分别负责打印季度开支报告、月份开支报告和日开支报告。改进原来的模 块,根据传入的控制标志来调用这三个模块中的一个。
特点:同时进行,并非顺序执行。
初始化模块,紧急故障处理模块。
过程性内聚:模块内的各个任务必须按照某一特定次序执行。
特点:控制流从一个动作 —> 另一个动作
如果是根据员工出生日期分别计算员工年龄和退休时间,该模块就具有通信性内聚(同一个输入数据)。
改进:改成两个模块:根据员工出生日期算员工年龄从一个处理单元流到另一个和根据员工出生日期算退休时间。
顺序性内聚:模块内的各个任务是顺序执行的。通常,上一个任务的输出是下一个任务的输入。
特点:数据流从一个处理单元流到另一个处理单元。
模块根据员工出生日期计算员工年龄,再由员工年龄计算其退休时间,该模块就具有顺序性内聚
改进:改成两个模块,把功能分解。
一个模块根据员工出生日期计算员工年龄,该模块具有功能性内聚。
由于传递的是数据结构,不仅数据量增加,而且会使模块的相关性增加。
松散的公共耦合 紧密的公共耦合
全局性的数据结构可以是共享的通信区、公共的内存区域、任何存储介质文件、物理设备等。
是最强的耦合,往往是被称为“病态”的块间联系。
例: class A {
public int m;
}
class B{
A a = new A();
a. m += 1;
}
应改为
class A {
private int m;
}
标签:span 没有 组成 相关性 ash tag color 组合 info
原文地址:https://www.cnblogs.com/ttct/p/10588930.html