行为型模式 命令模式

1 将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;
对请求排队或者记录请求日志,以及支持可撤销的操作。这个例子,脱了裤子。
class Television{
    public void turnOn(){
        System.out.println("television on");
    }
}
abstract class Command{
    public abstract void execute();
}
class OpenTelevisionCommand extends Command{
    private Television television;
    public OpenTelevisionCommand(Television television) {
        this.television = television;
    }
    @Override
    public void execute() {
        television.turnOn();
    }
}
class Invoker{
    private Command command;
    public Invoker(Command command) {
        this.command = command;
    }
    public void call(){
        command.execute();
    }
}
public class Test {
    public static void main(String[] args){
        Television television = new Television();
        Command command = new OpenTelevisionCommand(television);
        Invoker invoker = new Invoker(command);
        invoker.call();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_28197211/article/details/80482480
今日推荐