命令模式
命令模式中的命令(command)指的是一个执行某些特定事情的指令。
命令模式最常见的应用场景是:有时候需要向某些对象发送请求,但是不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发生者和请求者能够消除彼此之间的耦合关系。
命令模式的由来,其实是回调(callback)函数的一个面向对象的替代品
<body> <button id = "button1">点击按钮1</button> <button id = "button2">点击按钮2</button> <button id = "button3">点击按钮3</button> </body> <script> var button1 = document.getElementById('button1') var button2 = document.getElementById('button2') var button3 = document.getElementById('button3') var bindClick = function(button,func){ button.onclick = func; } var MenuBar = { refresh:function(){ console.log('刷新菜单界面') } } var SubMenu = { add: function(){ console.log('增加子菜单') } del: function(){ console.log('删除子菜单') } } bindClick(button1,MenuBar.refresh) bindClick(button2,SubMenu.add) bindClick(button3,SubMenu.del) </script>
命令模式在JavaScript语言中的一种隐性的模式