设计模式之3命令模式

2018-06-03  本文已影响0人  钱学敏

定义

命令模式中的命令指的是一个执行某些特定事情的指令。有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。比如在饭店点菜,我们可以点菜但是不用关心厨师是谁怎么做。

应用场景

把if else改为字典
如果要实现撤销操作,可以将每一步操作都存储到历史堆栈中,然后依次循环执行这些命令的undo操作,直到全部完成。

var makeCommand=function(receiver,state){
    return function(arguments){
        receiver[state]();
    }
}

var Ryu={
    attack:function(){
        console.log('攻击')
    },
    defense:function(){
        console.log('防御')
    },
    crouch:function(){
        console.log('蹲下')
    }
}

var command=makeCommand(Ryu,"attack")
command()
上一篇 下一篇

猜你喜欢

热点阅读