设计模式-05 设计模式-命令行设计模式 Command Pattern
(1)定义
命令模式是一种设计模式,它将请求封装成一个对象,从而使您可以用不同的方式参数化请求、队列请求以及支持可撤销的操作。
命令模式将一个请求封装成一个对象,从而使您可以用不同的方式参数化请求、队列请求以及支持可撤销的操作。
将请求封装成对象:命令模式将每个请求封装成一个独立的对象,称为“命令”对象。
参数化请求:命令对象可以存储与请求相关的所有信息,包括接收者、动作和任何其他必要的参数。
队列请求:命令对象可以存储在一个队列中,以便按顺序或并发执行。
支持可撤销的操作:命令对象可以实现一个“撤销”方法,允许撤销先前执行的请求。
+----------------+
| Command |
+----------------+
| - execute() |
+----------------+
+----------------+
| ConcreteCommand |
+----------------+
| - execute() |
+----------------+
+----------------+
| Invoker |
+----------------+
| - addCommand() |
| - invokeCommands() |
+----------------+
+----------------+
| Receiver |
+----------------+
| - action() |
+----------------+
调用关系:
Invoker 类拥有一个 Command 对象的集合。
当 Invoker 的