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