在很多系统中,你会遇到这样的需求:把”操作”当成对象传递支持操作的撤销(Undo)支持操作队列/延迟执行支持日志记录与重放例如:编辑器的撤销/重做任务队列(异步执行)按钮点击绑定不同行为审批操作记录如果直接写函数调用:light.turn_on()light.turn_off()看起来简单,但问题是:操作无法记录无法撤销无法统一调度这时候就需要——命令模式(Command)。一、命令模式解决什么问题?一句话:将请求封装为对象,从而使你可以用不同的请求对客户进行参数化。关键词:请求封装解耦调用者与执行者支持撤销/重做支持队列二、核心角色命令模式包含四个角色:1️⃣Command(命令接口)定义执...