[Design] Command Pattern

  行为模式主要是责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。
  行为模式分为类的行为模式和对象的行为模式两种。
类的行为模式
    类的行为模式使用继承关系在几个类之间分配行为。
对象的行为模式
    对象的行为模式则使用对象的聚合来分配行为。
--------------------------------------------------------
命令模式

命令模式是对象的行为模式。以称为行动模式或交易模式。

命令模式把一个请求或者操作封装到一个对象中,命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。

 

结构及角色

  • 1、客户(Client)角色

创建一个具体命令对象并确定其接收者。

  • 2、抽象命令(Command)角色

声明所有具体命令角色必须实现的接口,一般由抽角类或接口实现。

  • 3、具体命令(Concrete Command)角色

实现抽象命令角色所声明的接口。并定义一个接收者和行为之间的弱耦合,负责调用接收者的相应操作。

  • 4、请求者(Invoker)角色

负责调用命令对象执行请求,相关的方法叫做行动方法。

  • 5、接收者(Receiver)角色

负责具体实施和执行一个请求。任何一个类都可以成为接收者,实施和执行请求的方法叫做行动方法。

原文地址:https://www.cnblogs.com/abeen/p/1441894.html