/*class Receiver
{
exec()
{
console.log('执行')
}
}
class Command
{
constructor(Receiver)
{
this.Receiver=Receiver;//我的下面是士兵
}
cmd()
{
console.log('触发命令')//击鼓中
this.Receiver.exec();//小号手叫士兵执行命令进攻
}
}
class Invoker
{
constructor(Command)
{//我的下面是小号手
this.Command=Command;//小号手知道了
console.log("开始");
}
invoke()
{
this.Command.cmd();
}
}
let soldier=new Receiver();
let trumpeter=new Command(soldier);
//我叫
let general=new Invoker(trumpeter);
//我叫小号手击鼓
general.invoke();
*/
核心: 执行一个命令时,将命令的触发者和执行者分开,不让触发者直接操作命令执行者。