Command(命令)模式

  1. 特点:在使用终端操作窗口时,在进行多次命令操作后,可以使用方向键“↑”进行回溯,“回车”再次运行,实际就是终端保存了每次操作的命令,才得以实现这样的操作,像类似的场景还有文本编辑类程序,Undo和Redo操作,所以像类似的程序操作具体要怎样实现?
    那在面向对象编程中,首先要考虑的问题就是如果对命令操作进行抽象,每个命令要实现什么样的操作,每个操作需要哪些数据,这些都是要根据实际情况进行考量,其次就是对命令的管理,如:创建、存储命令,以及由谁接收命令
  2. 角色
角色名称 角色职责
Command(命令) 定义命令接口
ConcreteCommand(具体命令) 实现命令接口
Receiver(接受者) Command执行命令时被操作对象,也就是命令的接收者
Client(请求者) 对命令进行管理,以及分配命令接受者
Invoker(发动者) 执行命令的角色(实际编程中,Client和Receiver可能由同一个类实现)
  1. 角色关系

    Command-2.png

  2. 代码示例:Command

以上文献参考:《图解设计模式》

你可能感兴趣的:(Command(命令)模式)