亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

JavaScript設計模式之命令模式

瀏覽:2日期:2023-10-02 15:53:23

命令模式是JavaScript設計模式中行為型的一種設計模式;

定義:向某些對象發送請求,但是并不知道被請求的操作具體是什么,所以我們希望以一種松耦合的方式來設計程序,使得請求發送者和接收者之間能夠消除彼此之間的耦合關系;而我們的這種松耦合的方式就是命令模式;

白話解釋:假如你是你們公司研發部門團隊leader,這時你們領導分布給你一個任務,你粗略的看了一下,很簡單的需求比較容易實現;而你作為團隊leader,每天肯定會有很多事情,所以你準備把需求直接丟給組員去開發和實現;領導根本不在意是你做的還是你讓誰做的,領導要的只是最終成果!這里領導就是命令的發布者,而你就是命令的接收者;

代碼實現:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title></head><body><button id='button1'>發布命令給前端</button><button id='button2'>發布命令給后臺</button></body><script> var button1 = document.getElementById('button1'); var button2 = document.getElementById('button2'); // 定義命令 var command = function(Executor,func){Executor.onclick = func; } // 定義領導 var Leader = {};Leader.teamleader = {web:function(){ console.log('前端馬上完成');},java:function(){console.log('后臺馬上完成')} } command(button1,Leader.teamleader.web); command(button2,Leader.teamleader.java);</script></html>

運行結果:

JavaScript設計模式之命令模式

這里的將命令對象單獨的定義為一個方法,根據參數執行不同的任務。點擊不同按鈕的時候,執行不同的命令;

宏命令:

宏命令是一組命令的集合,通過執行宏命令的方式可以一次性執行一批命令;

電腦開機自啟動項:現在很多軟件都默認添加了電腦開機自啟動,就是我們電腦開機之后默認啟動某些特定的軟件;這就是一種宏命令的場景;

var QQCommand = { excute:function(){console.log('自啟動QQ成功'); }}var weChatCommand = { excute:function(){console.log('自啟動微信成功'); }}var MacroCommand = function(){ return {list:[],add:function(command){ this.list.push(command);},excute:function(){ for(var i = 0,command;command = this.list[i++];){command.excute(); }} }}var macroCommand = MacroCommand();macroCommand.add(QQCommand);macroCommand.add(weChatCommand);macroCommand.excute();

上面的代碼中,我們在宏命令對象中定義了一個list數組,然后通過add方法進行添加到執行隊列中,所謂的執行隊列就是list這個數組,然后我們通過循環來依次執行命令,這就產生了我們的宏命令,通過一個命令一鍵啟動多個任務;

命令模式其實就是定義一個命令對象,請求發布者通過參數化的形式傳入參數來進行執行具體不同的操作,來達到請求發布者與接收者的解耦;

最后的話:

本系列一共寫了十篇常用的JavaScript設計模式的文章,參考了大量的資料加上自己的理解希望以最通俗易懂的方式來講給大家聽,由于本人水平和精力有限,理解有誤的地方請及時指出,設計模式系列文章暫時先擱置,后續再補充;下個月開始準備系統學習ES6,完成ES6系列文章;

以上就是JavaScript設計模式之命令模式的詳細內容,更多關于JavaScript設計模式的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 正在播放国产精品放孕妇 | 国内精品伊人久久久久妇 | 欧美啪啪一级毛片 | 美女毛片儿 | 日本韩国欧美在线观看 | 精品欧美一区二区精品久久 | 午夜精品久久久久久99热7777 | 国产舐足视频在线观看 | 亚洲精品久久久久久久777 | 在线视频欧美亚洲 | 亚洲精品综合久久中文字幕 | 免费人成黄页网站在线观看国产 | 国产综合久久久久 | japanese色系tube护士 | 久久伊人热 | 亚洲人成影院午夜网站 | 国产男女猛烈无遮档免费视频网站 | 国产三香港三韩国三级不卡 | 亚洲天堂资源网 | 欧美成人高清免费大片观看 | 成人国产精品一级毛片了 | 精品国产91久久久久久久a | 亚洲欧美卡通动漫丝袜美腿 | 在线观看亚洲成人 | 午夜成人在线视频 | 好妞操| 国产精品一区二区国产 | 国产精品久久久久久小说 | 亚洲欧美一区二区视频 | 免费中国一级啪啪片 | 国产亚洲欧美在线播放网站 | 18videosex性欧美69超高清 | 精品免费久久久久国产一区 | 久久爱噜噜噜噜久久久网 | 欧美xxx国产xxx| 日本亚州在线播放精品 | 国产成人精品男人的天堂538 | 深夜福利爽爽爽动态图 | 国产精品欧美一区二区 | 欧美巨大精品欧美一区二区 | 久久只有这才是精品99 |