JavaScript命令模式

2020-12-30  本文已影响0人  晓蟲QwQ

命令模式可以解耦请求对象和接收对象,两者互不了解,只保持同一接口。命令模式是将逻辑代码进行封装为command对象。

作用

  1. command对象拥有更长的生命周期。
  2. command支持撤销、缓存、排队等。
  3. 已经执行过的命令可以被保存,进行重现。
  4. 多个小命令可以组合成一个宏命令(组合模式)
var MenuBar = {
    refresh: function(){
        console.log( '刷新菜单界面' );
    }
}

var commandStack = [];   //可以用来保存命令,实现“重播”
    
var RefreshMenuBarCommand = function(receiver){
    return {
        undo: function(){
            //实现撤销
        }
        execute: function(){
            receiver.refresh();
        }
    }
};

var setCommand = function( button, command ){
    button.onclick = function(){
        command.execute();
    }
}



var refreshMenuBarCommand = RefreshMenuBarCommand( MenuBar );
setCommand(button1, refreshMenuBarCommand);
上一篇下一篇

猜你喜欢

热点阅读