设计模式之命令模式
2021 algorithm命令模式,Command Design Pattern。在《设计模式》中的定义:命令模式将请求(命令)封装为一个对象,这样可以使用不同的请求参数化其他对象(将不同请求依赖注入到其他对象),并且能够支持请求(命令)的排队执行、记录日志、撤销等(附加控制)功能。
命令模式的主要作用和应用场景,是用来控制命令的执行,比如,异步、延迟、排队执行命令、撤销重做命令、存储命令、给命令记录日志等等。
UML
- Command:为所有命令声明一个接口。调用命令对象的 execute() 方法,就可以让接收者进行相关的动作。
- Invoker:调用者持有一个命令对象,并在某个时间点调用命令对象的 execute() 方法,将请求付诸行动。
- Client: 客户负责创建一个 ConcreteCommand,并设置其接收者。
- Receiver:接收者知道如何进行必要的工作,实现这个请求。任何类都可以当接收者。
- ConcreteCommand:定义了动作和接收者之间的绑定关系。调用者只要调用 execute() 就可以发出请求,然后由 ConcreteCommand 调用接收者的一个或多个动作
参考链接
- 极客时间:设计模式之美
- 《Head First 设计模式》