代码改变世界

15.命令模式

2019-08-12 17:06  zhongj  阅读(187)  评论(0编辑  收藏  举报
  • 一、角色
    • 抽象命令类(Command):所有具体命令的抽象基类
    • 具体命令类(ConcreteCommand):具体命令类,实现具体命令方法
    • 调用者(Invoker):命令调用者
    • 接受者(Receiver):命令接受者
  • 二、适用场景
    • 系统需要将请求调用者和请求接收者解耦,使得调用者和接收者不直接交互。请求调用者无须知道接收者的存在,也无须知道接收者是谁,接收者也无须关心何时被调用
    • 系统需要支持命令的撤销(Undo)操作和恢复(Redo)操作
    • 系统需要将一组操作组合在一起形成宏命令
  • 三、实例
    图-1