资讯专栏INFORMATION COLUMN

javascript设计模式学习笔记之命令模式

MobService / 2989人阅读

摘要:命令模式指的是一个执行某些特定事情的指令设计模式的主题总是把不变的事物和变化的事物分离开来在中函数作为一等对象所以命令模式其实是回调函数的一个面向对象的替代品设置命令命令集合刷新菜单界面命令触发条件接受者绑定命令

命令模式

指的是一个执行某些特定事情的指令

设计模式的主题: 总是把不变的事物和变化的事物分离开来

在javascript 中, 函数作为一等对象, 所以, 命令模式其实是回调函数的一个面向对象的替代品

    // 设置命令
    var setCommand = function(button, func) {
        button.onclick = function () {
            func();
        }
    } 

    // 命令集合
    var MenuBar = {
        refresh: function() {
            console.log("刷新菜单界面");
        }
    };

    // 命令触发条件 receiver 接受者
    var RefreshMenuBarCommand = function (receiver) {
        return function() {
            receiver.refresh();
        }
    }

    var refreshMenuBarCommand = RefreshMenuBarCommand(MenuBar);
    
    // 绑定命令
    setCommand(button1, refreshMenuBarCommand);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104743.html

相关文章

  • javascript设计模式学习笔记代理模式

    摘要:代理模式代理模式是为一个对象提供一个代用品或者占位符以便控制对它的访问引入代理模式,其实是为了实现单一职责的面向对象设计原则。 代理模式 代理模式是为一个对象提供一个代用品或者占位符, 以便控制对它的访问 引入代理模式,其实是为了实现单一职责的面向对象设计原则。 虚拟代理 将一些开销很大的对象, 延迟到正真需要的时候执行 // 针对大图 增加loading图 ...

    big_cat 评论0 收藏0
  • javascript设计模式学习笔记单例模式

    摘要:单例模式单例模式就是保证一个类仅有一个实例并提供一个访问它的全局访问点其最大的特点就是永远只返回一个实例实例通过来获取类的唯一对象其缺点也明显增加了类的不透明性透明的单例模式最终会被返回使用代理实现单例模式将负责管理单例的逻辑移到了代理类中 单例模式 单例模式 就是保证一个类仅有一个实例, 并提供一个访问它的全局访问点. 其最大的特点就是 永远只返回一个实例 var Sin...

    xiaolinbang 评论0 收藏0
  • javascript设计模式学习笔记迭代器模式

    摘要:迭代器模式顺序访问一个对象的对象的内部可分为内部迭代器和外部迭代器内部迭代器就是常见的或者外部迭代器实现了简单实现 迭代器模式 顺序访问一个对象的 对象的内部 可分为内部迭代器 和 外部迭代器 内部迭代器 就是常见的 forEach(), 或者 $.each() function forEach(arr, callback) { var i = 0, len...

    Jason_Geng 评论0 收藏0
  • javascript设计模式学习笔记策略模式

    摘要:策略模式策略模式指的是定义一系列的算法,把它们一个个封装起来,将不变的部分和变化的部分隔开,实际就是将算法的使用和实现分离出来这样就能避免很多的条件判断并且增强了代码的复用性其中包含一个策略类和一个环境类计算奖金的例子策略类环境类设置原始工 策略模式 策略模式指的是 定义一系列的算法,把它们一个个封装起来,将不变的部分和变化的部分隔开,实际就是将算法的使用和实现分离出来, 这样就能避...

    wh469012917 评论0 收藏0
  • ES6学习笔记模块

    摘要:但是一直没有在语言层面支持模块,直到的出现。相信在不久的将来,的模块一定会全面取代和。的模块提供了个新的语法,分别是和。就是模块用来对外暴露数据的接口,具体用法如下。 本文同步自我得博客:http://www.joeray61.com 简介 在当今的Javascript程序中,模块的作用不言而喻,目前广泛应用的主要有AMD(浏览器端)和CommonJS(服务器端)。但是Javascri...

    Airmusic 评论0 收藏0

发表评论

0条评论

MobService

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<