命令设计模式是否有一些错误?

时间:2013-03-20 08:51:56

标签: c++ oop design-patterns command-pattern

俄语维基百科链接中的

Here有一个命令设计模式的C ++实现示例。正如我从实现中理解的那样,与UML类图相比,我看到了:

  1. class Document是图中的Invoker
  2. class命令是图中的命令
  3. 类InsertCommand是图中的ConcreteCommand
  4. class Receiver是图中的Receiver
  5. 此外,正如我们从图中可以看到的,Invoker汇总了Command。但在我们的案例中,类Document不会聚合Command。这是一个错误吗?或者它是Command模式的变体?对于设计具体模式,一般应该遵循UML图的严格程度吗?

1 个答案:

答案 0 :(得分:1)

Namings for C ++示例不太好,我理解如下:

  • DocumentReceiver,是在
  • 上应用命令的对象
  • Receiver类根据提供的 UML 图表充当Invoker
  • main方法是Client

你可以看看Java的例子,它更干净。