JavaScript設(shè)計(jì)模式經(jīng)典之命令模式
一、命令模式概念
命令模式(Command)的定義是:用來(lái)對(duì)方法調(diào)用進(jìn)行參數(shù)化處理和傳送,經(jīng)過(guò)這樣處理過(guò)的方法調(diào)用可以在任何需要的時(shí)候執(zhí)行。也就是說(shuō)該模式旨在將函數(shù)的調(diào)用、請(qǐng)求和操作封裝成一個(gè)單一的對(duì)象,然后對(duì)這個(gè)對(duì)象進(jìn)行一些列的處理。他也可以用來(lái)消除調(diào)用操作的對(duì)象和實(shí)現(xiàn)操作的對(duì)象之間的耦合。這為各種具體的類的更換帶來(lái)了極大的靈活性。
二、命令模式的作用和注意事項(xiàng)
模式作用:
1、將函數(shù)的封裝、請(qǐng)求、調(diào)用結(jié)合為一體
2、調(diào)用具體的函數(shù)解耦命令對(duì)象與接收對(duì)象
3、提高程序模塊化的靈活性
注意事項(xiàng):
1、不需要借口一致,直接調(diào)用函數(shù)即可,以免造成浪費(fèi)
三、命令模式代碼和實(shí)戰(zhàn)總結(jié)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> //1.一個(gè)連有炮兵和步兵,司令可以下命令調(diào)動(dòng)軍隊(duì)打仗 var lian = {}; lian.paobing = function(pao_num){ console.log(pao_num+"門炮準(zhǔn)備戰(zhàn)斗"); } lian.bubing = function(bubing_num){ console.log(bubing_num+"人準(zhǔn)備戰(zhàn)斗"); } lian.lianzhang = function(mingling){ lian[mingling.type](mingling.num); } //司令下命令 lian.lianzhang({ type:"paobing", num:10 }); lian.lianzhang({ type:"bubing", num:100 }); </script> </body> </html>
以上所述是小編給大家介紹的JavaScript設(shè)計(jì)模式經(jīng)典之命令模式,希望對(duì)大家有所幫助!
相關(guān)文章
javascript組合使用構(gòu)造函數(shù)模式和原型模式實(shí)例
這篇文章主要介紹了javascript組合使用構(gòu)造函數(shù)模式和原型模式的方法,通過(guò)一個(gè)簡(jiǎn)單實(shí)例分析了javascript構(gòu)造函數(shù)模式與原型模式的使用方法,需要的朋友可以參考下2015-06-06JS實(shí)現(xiàn)提示框跟隨鼠標(biāo)移動(dòng)
在本篇內(nèi)容里小編給各位整理了一篇關(guān)于JS實(shí)現(xiàn)提示框跟隨鼠標(biāo)移動(dòng)的相關(guān)實(shí)例代碼,需要的朋友們學(xué)習(xí)下。2019-08-08javascript實(shí)現(xiàn)數(shù)字時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)數(shù)字時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02微信小程序自定義組件實(shí)現(xiàn)tabs選項(xiàng)卡功能
這篇文章主要為大家詳細(xì)介紹了微信小程序自定義組件實(shí)現(xiàn)tabs選項(xiàng)卡功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07js中數(shù)組(Array)的排序(sort)注意事項(xiàng)說(shuō)明
本篇文章主要是對(duì)js中數(shù)組(Array)的排序(sort)注意事項(xiàng)進(jìn)行了說(shuō)明介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01