命令模式:命令模式的由来,其实是回调(callback)函数的一个面向对象的替代品。
功能:点击按钮执行刷新功能
流程:设置安装命令的接口 - 点击按钮的执行的具体行为 (比如:刷新-增加子菜单) - 把命令封装在命令类中 - 执行命令
第一步 :安装命令
var setCommand = function( button, command ){
button.onclick = function(){
command.execute();
}
};
第二步 : 定义各种命令
var MenuBar = {
refresh: function(){
console.log( '刷新菜单界面' );
}
}
var SubMenu = {
add: function(){
console.log( '增加子菜单' );
},
del: function(){
console.log( '删除子菜单' );
}
};
var RefreshMenuBarCommand = function( receiver ){
return { //对象
execute: function(){
receiver.refresh();
}
}
};
var refreshMenuBarCommand = RefreshMenuBarCommand( MenuBar );
//返回
//{ //对象
// execute: function(){
// MenuBar .refresh();
// }
第三步:执行命令
setCommand( button1, refreshMenuBarCommand );
//执行刷新命令
//返回含税
MenuBar .refresh();