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);
相關文章
相關標籤/搜索