Here有一个命令设计模式的C ++实现示例。正如我从实现中理解的那样,与UML类图相比,我看到了:
此外,正如我们从图中可以看到的,Invoker汇总了Command。但在我们的案例中,类Document不会聚合Command。这是一个错误吗?或者它是Command模式的变体?对于设计具体模式,一般应该遵循UML图的严格程度吗?
答案 0 :(得分:1)
Namings for C ++示例不太好,我理解如下:
Document
是Receiver
,是在Receiver
类根据提供的 UML 图表充当Invoker
。 main
方法是Client
你可以看看Java的例子,它更干净。