什么是命令模式?
官方:将一个请求封装成一个对象,从而使你可以用不同的请求对客户端进行参数化。对请求排队或者记录日志,以支持可撤销的操作。
个人理解:命令模式就相当于撸串子时点菜的过程。把你要吃什么的请求封装在一个菜单上交给服务员,服务员按照点菜的顺序一次上菜。当然你也可以撤销你的菜单不吃了。此时服务员相当于Invoker 而烤肉串者相当于Receiver。你就就是Command。
什么时候使用命令模式?
1.需要一个命令队列。
2.需要很容易的进行撤销和重做。
3. 加入新的具体指令类不影响客户端。
举例:
https://github.com/y279336671/DesignPatternsForObjective-C/tree/master/CommandDesignPattern