一句话总结
命令和处理
内容
命令模式的本质是解耦请求和处理,同时增加了扩展性(容易增加新命令,在命令的基础上增加额外的功能)。
场景
播放器的播放功能,停止功能和暂停功能。
类图
代码示例
//请求者
public class Invoker {
private ICommand mCmd;
public Invoker(ICommand cmd) {
this.mCmd = cmd;
}
public void action() {
this.mCmd.execute();
}
}
//抽象命令接口
public interface ICommand {
void execute();
}
//具体命令
public class ConcreteCommand implements ICommand {
// 直接创建接收者,不暴露给客户端
private Receiver mReceiver = new Receiver();
public void execute() {
this.mReceiver.action();
}
}
//接收者
public class Receiver {
public void action() {
System.out.println("执行具体操作");
}
}
public class Test {
public static void main(String[] args) {
ICommand cmd = new ConcreteCommand();
Invoker invoker = new Invoker(cmd);
invoker.action();
}
}
源码
无
网友评论