模块有耦合性和内聚性。好的。有功能内聚和通信内聚。功能内聚是按功能分组的。好的。通信内聚是按输入/输出数据分组的。嗯..。一点也不好。有没有人能给我解释一下什么是通信内聚或/并提供示例(任何语言,但Java更好)?
发布于 2011-03-14 06:04:46
这只是我的解释,但我要说的是“通信内聚”意味着使用相同数据的代码被放在一起,并与该数据放在一起。“一起”可能意味着它们在同一个包或JAR中,这意味着优势主要在于可维护性。或者,它可以意味着它位于相同的硬件或相同的LAN上,这具有性能和安全性优势。
发布于 2011-03-14 06:16:10
首先,它被称为。
我发现following explanation很清楚:
通信内聚模块是在相同的输入或输出数据上执行多个函数的模块。对于示例,根据传递的标志从书目记录中获取图书的作者、标题或价格。(注意:此示例中的功能可以彼此独立执行,并且应该分开以获得更大的灵活性。当您将通信上内聚的模块分成功能上内聚的模块时,可维护性通常会得到改善。)
为了与其他类型的内聚进行比较,参考的文章似乎非常清楚。
正如示例所述,优先使用函数内聚(甚至顺序内聚)而不是通信内聚是很重要的。
通信内聚在面向对象的系统中很少见,因为面向对象的设计倾向于强调多态性。
发布于 2011-03-14 05:59:05
通信内聚可能涉及到开放标准协议和格式的使用。例如HTTP、JSON等。
ETA:维基百科说:
通信内聚是指模块的各个部分被分组,因为它们对相同的数据进行操作(例如,对相同的信息记录进行操作的模块)。
https://stackoverflow.com/questions/5292546
复制相似问题