命令模式
命令模式:动作模式、事务模式。
命令模式就是将一个请求封装成一个对象,可以用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。
解决:行为请求者与行为接收者是一种完全解与耦关系。
模式动机:发送者与接收者没有直接引用关系,发送者的对象只需要知道如何发送请求,而不需要知道请求是如何完成的。
命令模式的组成:命令接口:用来封装“请求”的若干个方法,例如:execute(),undo()
请求者:请求者负责调用具体命令,让具体命令执行那些封装了的请求的方法
接收者:负责执行与请求相关的操作
具体命令:是命令接口的类的实例,必须实现命令接口中的方法
命令模式:通过调用者调用接受者执行命令,调用者------接受者-----命令
三个角色:received 真正命令的执行者 command 命令的具体方法 invoker 命令的使用者
系统需要支持命令的撤销(Undo)操作和恢复(Redo)操作可以使用命令模式