设计模式-命令者模式

接收者: Recieverjava

命令:Commangit

执行者:Invokergithub

用户:Clientbash

执行伪代码:ui

// 有一个接收者
        Reciever reciever = new Reciever();

        // 接收者能执行各类命令
        Command command1 = new ConcreteCommandOne(reciever);
        Command command2 = new ConcreteCommandTwo(reciever);

        // 有一个调用者,能执行给定的命令
        Invoker invoker = new Invoker();
        invoker.setCommand(command1).action();
        invoker.setCommand(command2).action();
复制代码

example 源码spa

// 拥有一个收音机
        AudioPlayer audioPlayer = new AudioPlayer();

        // 收音机拥有各类功能
        PlayCommand playCommand = new PlayCommand(audioPlayer);
        RewindCommand rewindCommand = new RewindCommand(audioPlayer);
        StopCommand stopCommand = new StopCommand(audioPlayer);

        // 有一个键盘
        Keypad keypad = new Keypad();

        // 执行给定的命令
        keypad.setCommand(playCommand).action();
        keypad.setCommand(rewindCommand).action();
        keypad.setCommand(stopCommand).action();
    }
复制代码
相关文章
相关标签/搜索