2

模块有耦合和内聚。好的。有功能衔接和沟通衔接。功能内聚是按功能分组的。好的。通信凝聚力是按输入/输出数据分组的..嗯..不好。谁能解释一下什么是通信凝聚力或/并提供示例(任何语言,但最好使用 Java)?

4

3 回答 3

3

首先,它被称为沟通凝聚力

我发现以下解释很清楚:

通信内聚模块是对同一输入或输出数据执行多种功能的模块。例如,根据传递的标志,从书目记录中获取书籍的作者、标题或价格(注意:本例中的功能可以彼此独立执行,并且应该分开以获得更大的灵活性。当您将通信内聚的模块分离成功能内聚的模块时,可维护性通常会得到提高。)

为了与其他类型的凝聚力进行比较,参考的文章似乎很清楚。

正如示例所述,重要的是更喜欢功能凝聚力(甚至顺序凝聚力)而不是沟通凝聚力。

由于面向对象的设计倾向于强调多态性,因此在面向对象的系统中通信内聚很少见。

于 2011-03-13T22:16:10.057 回答
2

这只是我的解释,但我会说“通信凝聚力”意味着将处理相同数据的代码放在一起,并与该数据放在一起。“Together”可以表示它在同一个包或JAR中,这意味着优势主要在于可维护性。或者它可能意味着它存在于相同的硬件或相同的 LAN 上,这具有性能和安全优势。

于 2011-03-13T22:04:45.943 回答
1

据推测,通信凝聚力涉及使用开放标准协议和格式。例如 HTTP、JSON 等。

预计到达时间:维基百科 说:

通信凝聚力是指模块的各个部分因为它们对相同的数据进行操作而被分组(例如,对相同的信息记录进行操作的模块)。

于 2011-03-13T21:59:04.843 回答