概述
命令模式 (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();
}
}
图示:
参考
[1]. 刘伟, 设计模式. 2011.