2011-03-13 86 views
1

存在用于模块耦合和凝聚力。好。有功能和沟通的凝聚力。功能内聚是按功能分组的。好。通信内聚是通过输入/输出数据分组..嗯..不好。任何人都可以解释什么是沟通内聚或/并提供示例(任何语言,但Java是优选的)?通信凝聚力

回答

2

这只是我的解释,但我要说的是“沟通衔接”是指代码,可与相同的数据与数据放在一起,并在一起。 “Together”可以表示它在同一个包或JAR中,这意味着优势主要在于可维护性。或者它可能意味着它生活在同一个硬件或同一个局域网上,具有性能和安全优势。

1

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

ETA:维基说:

交际凝聚力是当一个模块的部件被分组,因为它们对相同的数据进行操作(例如,其上的信息相同的记录操作的模块)。

3

首先,它被称为Communicational Cohesion

我发现following explanation明确:

甲通信地粘合模块是一个其中在相同的输入或输出数据执行若干功能。对于例如,从书目记录获取作者,标题,或一本书的价格的基础上,通过标志。 (注:在此实施例中的功能可以彼此独立地执行,并且应该有更大的灵活性来分离时,分离出通信地粘合模块插入功能凝聚力模块可维护性通常提高。)

对于具有比较其他类型的凝聚力,引用的文章似乎很清楚。

正如例如美国,它更喜欢交际的凝聚力凝聚功能(甚至连续凝聚力)是很重要的。

由于面向对象的设计倾向于强调多态性,所以在面向对象的系统中交际内聚是罕见的。