Java简单解释不同内聚类型
内聚性概念:一个模块内部各个元素(数据、处理)之间联系的紧密程度
7大内聚从低到高划分为 偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚
下面是使用Java简单举例说明各种内聚类型:
-
偶然内聚:一个模块内的各处理元素之间没有任何联系。
public class RandomCoherence { public void method1() { // 处理逻辑1 } public void method2() { // 处理逻辑2 } }
-
逻辑内聚:模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
public class LogicalCoherence { public void processData(int option) { if (option == 1) { // 处理逻辑1 } else if (option == 2) { // 处理逻辑2 } } }
-
时间内聚:把需要同时执行的动作组合在一起形成的模块。
public class TimeCoherence { public void performActionsTogether() { // 同时执行的动作1 // 同时执行的动作2 } }
-
过程内聚:一个模块完成多个任务,这些任务必须按指定的过程执行。
public class ProcessCoherence { public void performTasksInOrder() { // 按指定过程执行的任务1 // 按指定过程执行的任务2 } }
-
通信内聚:模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。
public class CommunicationCoherence { public void processData(List<Integer> data) { // 对同一个数据结构进行处理 } }
-
顺序内聚:一个模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前一个功能元素的输出就是下一个功能元素的输入。
public class SequentialCoherence { public void performSequentialTasks() { // 顺序执行的任务1 // 顺序执行的任务2 } }
-
功能内聚:最强的内聚,模块内的所有元素共同作用完成一个功能,缺一不可。
public class FunctionalCoherence { public void completeFunctionality() { // 完成功能的所有必要处理 } }