设计模式之3命令模式

定义

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

应用场景

把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()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 目录 本文的结构如下: 什么是命令模式 为什么要用该模式 模式的结构 代码示例 优点和缺点 适用环境 模式应用 总...
    w1992wishes阅读 1,219评论 2 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,383评论 19 139
  • 今天上午我和爸爸、妈妈还有我弟弟,一起去沧州看电影,电影的名字叫《反转星球》,在路上我看见那本《驴小弟》的书...
    吴卓逸阅读 357评论 0 2
  • I.ve been waiting for the wind to wait for you
    李冷冷灬阅读 287评论 0 0
  • AudioKit是一个很强大的音频合成框架,在集成发布时,有两点需要注意,否则就会出现以上错误。 1.上图错误是由...
    luowanglin阅读 1,963评论 0 1

友情链接更多精彩内容