设计模式

命令模式(command)

2020-04-28  本文已影响0人  剑道_7ffc

一句话总结

命令和处理

内容

命令模式的本质是解耦请求和处理,同时增加了扩展性(容易增加新命令,在命令的基础上增加额外的功能)。

场景

播放器的播放功能,停止功能和暂停功能。

类图

代码示例

//请求者
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();
    }
}

源码

上一篇 下一篇

猜你喜欢

热点阅读