国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

javascript設(shè)計模式 ? 命令模式原理與用法實例分析

瀏覽:8日期:2023-11-03 08:55:49

本文實例講述了javascript設(shè)計模式 ? 命令模式原理與用法。分享給大家供大家參考,具體如下:

介紹:命令模式是一種數(shù)據(jù)驅(qū)動的設(shè)計模式,將請求以命令的形式包裹在對象中,并傳遞給調(diào)用對象。命令模式的核心在于引入了命令類,通過命令類來降低發(fā)送者和接受者的耦合度。

定義:將一個請求封裝為一個對象,從而可用不同的請求對客戶進(jìn)行參數(shù)化;對請求排隊或者記錄請求日志,以及支持可撤銷的操作。命令模式是一種對象行為型模式,其別名為動作(Action)模式或事務(wù)(Transaction)模式。

場景:我們通過買賣股票的場景來實現(xiàn)下命令模式,

示例:

var Stock = function(){ this.name = ’baidu’; this.quantity = 100; this.buy = function(){ console.log(’購買了:’ + this.quantity + ’股’ + this.name); } this.sell = function(){ console.log(’賣出了:’ + this.quantity + ’股’ + this.name); }} var BuyStock = function(stock){ this.stock = stock; this.execute = function(){ this.stock.buy(); }} var SellStock = function(stock){ this.stock = stock; this.execute = function(){ this.stock.sell(); }} var Broker = function(){ this.orderList = []; this.takeOrder = function(order){ this.orderList.push(order); } this.placeOrders = function(){ this.orderList.map(function(item){ item.execute(); }) this.orderList = []; }} var stock = new Stock();var buyStock = new BuyStock(stock);var sellStock = new SellStock(stock); var broker = new Broker();broker.takeOrder(buyStock);broker.takeOrder(sellStock);broker.placeOrders();// 購買了:100股baidu// 賣出了:100股baidu

這個例子里面SellStock,BuyStock為命令類,執(zhí)行實際的命令。Broker用來接收命令,并在指定的時機執(zhí)行命令。Stock為請求受體,

回頭看下定義:sellStock,buyStock就是將命令封裝好的對象,你可以通過對象的execute方法執(zhí)行該命令。通過擴展placeOrders方法可以支持請求隊列或者記錄請求日志,以及支持可撤銷等操作

命令模式總結(jié):

優(yōu)點:* 降低系統(tǒng)耦合度* 新的命令很容易的加入到系統(tǒng)中

缺點:* 使用命令模式可能會導(dǎo)致某些系統(tǒng)有過多的具體命令類

適用場景:* 系統(tǒng)需要將請求調(diào)用者和請求接受者解耦

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 久草免费资源 | 成人禁在线观看网站 | 伊人55影院 | 无限资源中文免费 | 亚洲永久| 亚洲国产精品综合久久网络 | 亚洲一区视频在线播放 | 亚洲欧美日韩国产精品久久 | 一级啊片| 91精品久久久 | 国产精品成人亚洲 | 中国女人真人一级毛片 | 成人毛片高清视频观看 | 久久久一区二区三区不卡 | 国产精品成人一区二区不卡 | 国产一区亚洲一区 | 亚洲综合国产精品 | 久久精品久久精品 | 久久综合亚洲一区二区三区 | 精品成人一区二区三区免费视频 | 国产三级中文字幕 | 男人的天堂免费网站 | 成人一级片在线观看 | 全国男人天堂网 | 天天看a | 女人张开腿让男人桶免费最新 | 亚洲国产精品ⅴa在线观看 亚洲国产精品aaa一区 | 日韩特级黄色片 | 一区高清 | 欧美特黄高清免费观看的 | 国产三级国产精品国产国在线观看 | 日韩国产三级 | 欧美一级毛片一级 | 大胆gogo999亚洲肉体艺术 | 精品国产欧美一区二区 | 日本欧美在线视频 | 996久久国产精品线观看 | 欧美三区 | 手机在线国产精品 | 九九九九九九精品免费 | 久草综合视频在线 |