什么是Command模式
所谓命令模式,必然存在三个角色——命令发起者、命令、命令接收者。即命令这个角色使发起者和接收者实现了解耦。试想一下,如果没有中间层命令,那么命令发起者必须聚合接收者,如果有了命令,那么发起者和接受者则通过命令来实现联系。
Command的UML图

Command是一个接口,其中定义了执行和撤销的方法,而ConcreteCommand是实现了Command的具体命令,这个具体命令是Invoker(发起者)和Receiver(接收者)的“桥梁”。
代码实现
1 | public interface Command { |
Command模式的优点和不足
实现命令发起者和接受者之间的解耦,命令发起者不需要知道接受者是谁。
容易设计一个命令队列,并使用多线程去操作。
但是提高了系统的复杂度,可能会导致命令的具体类过多。