GRASP信息专家和GRASP凝聚力有什么区别?

时间:2013-01-23 08:37:07

标签: grasp

这两个概念非常相似,很难说哪个是哪个。

请举例说明如何区分它们。

1 个答案:

答案 0 :(得分:0)

GRASP设计模式,正如这里所说的那样(Is Information Expert from GRASP and Modell from MVC the same?)是设计原则,并支持您评估您的设计决策和实施。

"凝聚" GRASP中的评估设计模式与"耦合"。因此,您必须使用它们来分析您的设计,以确定它是如何具有内聚性和松散耦合性,从而直接提高可重用性和可扩展性。

另一方面,"信息专家"可以帮助您确定哪个班级应该承担特定的责任。它会告诉您为具有最多信息的班级分配一定的责任。 |

因此,在一个简单的购物车用例中,您可以根据数量和单价给予ShoppingItem计算ItemIrice(),而给ShoppingTotalPrice()赋予ShoppingCart。

这成为一个关键因素,并注意到大多数GOF设计模式实际上都支持这个GRASP概念。

最重要的是。如果您在设计中应用了信息专家模式,它应该在评估您的设计方面为您提供高凝聚力。就像所有其他GRASP模式一样,信息专家和凝聚力将如何齐头并进。

资源:http://www.cs.bgu.ac.il/~oosd051/uploads/stuff/ApplyingUMLandPatterns.pdf