真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用javascript中的命令模式

這篇文章主要講解了如何使用javascript中的命令模式,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

天心ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

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

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

場(chǎng)景:我們通過(guò)買賣股票的場(chǎng)景來(lái)實(shí)現(xiàn)下命令模式,

示例:

var Stock = function(){
  this.name = 'baidu';
  this.quantity = 100;
  this.buy = function(){
    console.log('購(gòu)買了:' + 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();
// 購(gòu)買了:100股baidu
// 賣出了:100股baidu

這個(gè)例子里面SellStock,BuyStock為命令類,執(zhí)行實(shí)際的命令。Broker用來(lái)接收命令,并在指定的時(shí)機(jī)執(zhí)行命令。Stock為請(qǐng)求受體,

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

命令模式總結(jié):

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

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

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

看完上述內(nèi)容,是不是對(duì)如何使用javascript中的命令模式有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站名稱:如何使用javascript中的命令模式
瀏覽地址:http://weahome.cn/article/jdsjsc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部