命令模式

命令模式:动作模式、事务模式。

命令模式就是将一个请求封装成一个对象,可以用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。

解决:行为请求者与行为接收者是一种完全解与耦关系。

模式动机:发送者与接收者没有直接引用关系,发送者的对象只需要知道如何发送请求,而不需要知道请求是如何完成的。

命令模式的组成:命令接口:用来封装“请求”的若干个方法,例如:execute(),undo()

                              请求者:请求者负责调用具体命令,让具体命令执行那些封装了的请求的方法

                              接收者:负责执行与请求相关的操作

                              具体命令:是命令接口的类的实例,必须实现命令接口中的方法

命令模式:通过调用者调用接受者执行命令,调用者------接受者-----命令

三个角色:received 真正命令的执行者   command   命令的具体方法      invoker   命令的使用者

系统需要支持命令的撤销(Undo)操作和恢复(Redo)操作可以使用命令模式

 

posted @ 2019-03-24 13:54  繁春  阅读(118)  评论(0编辑  收藏  举报