命令模式
- 命令模式(Command Pattern)是一种行为设计模式,它将一个请求封装为一个对象,从而使你可用不同的请求把客户端与接受请求的对象解耦
- 命令模式允许你将请求排队,记录请求的历史,并可撤销和重做请求
- 实现命令模式通常涉及以下几个组件:
- 命令接口 (Command): 定义一个执行操作的接口
- 具体命令类 (ConcreteCommand): 实现命令接口,绑定一个接收者对象,并定义了一个执行操作的 execute 方法
- 接收者 (Receiver): 知道如何执行与请求相关的操作。任何类都可能作为一个接收者
- 调用者 (Invoker): 要求命令执行请求,持有命令对象。这个对象知道如何执行命令,但不知道具体命令是什么
- 客户端 (Client): 创建具体的命令对象,并设置其接收者
命令模式应用
interface Command {
execute(): void;
undo(): void;
}
interface Receiver {
action(): void;
}
class ConcreteReceiver implements Receiver {
action(): void {
console.log