1

关于命令模式的一些事情,为什么大多数示例直接调用接收者而不是客户端调用者?

在互联网上的大多数示例中,(img: http: //www.dofactory.com/Patterns/Diagrams/command.gif),为什么客户端调用接收器来执行操作而不是调用者?似乎客户端通过调用程序或直接通过命令接口调用动作更好,因为实际的动作编码在接收器内部。如果我们改变动作代码的任何路径,接收者和客户端的代码的改变是必要的。如果我们使用invoker来调用实际的命令,就会减少依赖。

因此,为什么我们仍然要在一般示例中通过接收者调用动作?请帮忙。谢谢你。

4

1 回答 1

2

我认为您正在阅读一个类图,就像它是一个序列图一样。CommandPattern最常见示例的序列图描述了客户端如何按照您的预期通过 Invoker 调用操作方法。

于 2013-11-02T18:49:08.527 回答