Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 当客户端可以直接从Receiver实例调用该方法时,为什么选择命令模式?_Design Patterns_Command Pattern - Fatal编程技术网

Design patterns 当客户端可以直接从Receiver实例调用该方法时,为什么选择命令模式?

Design patterns 当客户端可以直接从Receiver实例调用该方法时,为什么选择命令模式?,design-patterns,command-pattern,Design Patterns,Command Pattern,最近我遇到了命令模式。在此模式中,客户机负责创建Receiver、ConcreteCommand和Invoker的实例。在某个时间点(比方说在一个按钮点击中),调用器的Invoke方法被调用。现在,Invoke方法负责在receiver中执行特定的操作。但是,当客户端可以使用Receiver直接调用特定的操作时,为什么我需要一个调用程序(或者命令模式) 为什么我需要一个调用程序(命令模式),而客户端可以 使用Receiver直接调用特定操作 这是命令模式的主要设计原理之一——来自接收者(发送者-

最近我遇到了
命令模式
。在此模式中,客户机负责创建Receiver、ConcreteCommand和Invoker的实例。在某个时间点(比方说在一个按钮点击中),调用器的Invoke方法被调用。现在,Invoke方法负责在receiver中执行特定的操作。但是,当客户端可以使用Receiver直接调用特定的操作时,为什么我需要一个调用程序(或者命令模式)

为什么我需要一个调用程序(命令模式),而客户端可以 使用Receiver直接调用特定操作

这是命令模式的主要设计原理之一——来自接收者(发送者-接收者/产生的消费者)的调用者。

看看这个例子: