命令模式
命令模式中的命令指的是一个执行某些特定事情的指令。(最简单的设计模式)
简单的实现
let bindClick = function (button, func) {
button.onclick = func;
};
let MenuBar = {
refresh: function () {
console.log("刷新");
},
};
let button1 = document.createElement("button");
button1.innerText = "执行刷新命令";
document.body.appendChild(button1);
bindClick(button1, MenuBar.refresh);
例子
let MoveCommand = {
run: function () {
console.log("奔跑");
},
stop: function () {
console.log("停止");
},
squatDown: function () {
console.log("蹲下");
},
walk: function () {
console.log("行走");
},
};
let triggerMove = function (dom, receiver, state) {
return dom.onclick = receiver[state];
};
let move = (function () {
let run = document.getElementById("run");
let stop = document.getElementById("stop");
let squatDown = document.getElementById("squatDown");
let walk = document.getElementById("walk");
triggerMove(run, MoveCommand, "run");
triggerMove(stop, MoveCommand, "stop");
triggerMove(squatDown, MoveCommand, "squatDown");
triggerMove(walk, MoveCommand, "walk");
})();