概述

命令模式 (Command Pattern) 又称动作 (Action) 模式、事务 (Transaction) 模式。它将请求封装成一个对象,使得请求的发送者和接收者解耦。

优点:降低耦合度,符合“开闭原则”。
缺点:需要的类数量可能过多。

interface Command {
  void execute();
}

class Reciever {
  public void action1() {
    //
  }
  public void action1() {
    //
  }
}

class Sub1 implements Command {
  private Receiver r;
  
  public void execute() {
    r.action1();
  }
}

class Sub2 implements Command {
  private Receiver r;
  
  public void execute() {
    r.action2();
  }
}

class Invoker {
  private Command cmd;
  
  public void a() {
    cmd.execute();
  }
}

图示:
image

参考

[1]. 刘伟, 设计模式. 2011.

 posted on 2023-07-22 01:38  x-yun  阅读(8)  评论(0编辑  收藏  举报