【问题标题】:Which UML diagram is correct for Chain of responsibility pattern?哪个 UML 图对于责任链模式是正确的?
【发布时间】:2011-01-24 11:20:40
【问题描述】:

我正在尝试为责任链模式绘制 UML 图。 我指的是网站http://www.vincehuston.org/dp/chain.html

http://www.dofactory.com/Patterns/PatternChain.aspx

在 Vincehuston 图中,基类有一个自循环,因为基类需要有一个指向下一个处理程序对象的指针。

在dofactory图中,派生类中有基类的聚合。

你能告诉我哪个是正确的吗? DoFactory 主要是基于 C# 解释,有什么区别吗?

【问题讨论】:

    标签: c# c++ design-patterns


    【解决方案1】:

    我看到的两种解释之间的唯一区别是指向下一个处理程序的指针(基处理程序类或具体实现)应该在基类上表示,因为它将在每个实例中被继承。

    所以从我的角度来看,vincehuston 表示更准确。

    如果您查看 dotfactory 中的实际实现,您会发现,尽管有 UML 表示,但它仍然将后继者放在基类中。

    编辑: 实现的不同之处在于调用后继者的方式是通过向后继者提供实例或调用后继者的基本方法。在这两种情况下,方法或成员都是从基类继承的,因此聚合是错误的,使用继承的成员或方法时不要定义聚合。

    【讨论】:

      猜你喜欢
      • 2013-12-19
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多