乐趣区

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

命令模式

  • 指的是一个执行某些特定事情的指令
  • 设计模式的主题: 总是把不变的事物和变化的事物分离开来
  • 在 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);
退出移动版