接收者: 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();
}
复制代码