設計模式-命令者模式

接收者: 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();
    }
複製代碼
相關文章
相關標籤/搜索