巨猿生存方案信息专家和巨猿生存方案凝聚力有什么区别?



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

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

所有GRASP概念都是相互关联的,因此您应该将它们一起考虑:

  1. "信息专家" - 问题是"哪个对象应该需要行为?(请参阅。http://en.wikipedia.org/wiki/Domain-driven_design)喜欢之一这个问题的答案。
  2. "
  3. 凝聚力"——问题是"对象有多少种不同的行为"http://en.wikipedia.org/wiki/GRASP_(对象oriented_design)

你不应该在没有编码实践的情况下学习这些概念,编写代码/进行重构 - 你会得到它。

GRASP设计模式,正如这里非常正确所说(GRASP的信息专家和MVC的Modell是一样的吗?)是设计原则,支持你评估你的设计决策和实现。

GRASP中的"内聚力"是与"耦合"一起的评价设计模式。因此,您必须使用它们来分析您的设计,以确定它的内聚性和松散耦合程度,这直接增强了可重用性和可扩展性。

另一方面,"信息专家"可以帮助您确定应该赋予哪个类别特定责任。它告诉您将特定职责分配给具有最多信息的类。|

因此,在一个简单的购物车用例中,您将给出一个购物项目,以根据数量和单价计算ItemPrice(),以及购物车来计算TotalPrice()。

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

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

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

相关内容

  • 没有找到相关文章

最新更新