当须要向某些对象发送请求,可是不知道请求的接受者是谁,也不知道被请求的操做是哪一个,是得请求发送者与请求接受者解耦。设计
命令模式(Command Pattern):将一个请求封装为一个对象,从而使咱们可用不一样的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操做。日志
命令模式包括以下角色:对象
使用命令模式可能会致使某些系统有过多的具体命令雷。因为针对每个命令都须要设计一个具体命令类,所以某些系统可能须要大量具体命令类,这将影响命令模式的使用。排序
(1)咱们须要Client和Receiver同时开发,并且在开发过程当中须要分别不停地重构,更名。队列
(2)要求有Redo和Undo等功能。开发
(3)要求命令不按照调用顺序执行,而是按照执行时的状况排序执行。重构
(4)在上述状况下,接收者有多个。请求