JavaScript如何引入橋梁模式

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

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、惠東ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的惠東網(wǎng)站制作公司

1.使用情況

(1)事件的監(jiān)控

#1,利用頁(yè)面的button來(lái)選擇寵物的例子(思路)

button.addEvent(element,"click",getPetByBame);
  function getPetByBame(e){
    var id = this.id;
    asyncRquest("GET",'pet.action?id='+id,function(pet){
      consols.log("request pet"+pet.resopnseText)
    })
  }

#2,addEvent函數(shù)

/*obj:需要增加事件的對(duì)象
* type:事件名稱
* fn:執(zhí)行事件的函數(shù)
* */
function addEvent(obj,type,fn){//addEvent:為某個(gè)文檔節(jié)點(diǎn)增加事件的方法
  if(obj.addEventListener){//Mozilla中:
    obj.addEventListener(type,fn,false);
  }else if(obj.attachEvent){//IE中:
    obj["e"+type+fn] = fn;
    obj[type+fn] = function(){
      obj["e"+type+fn]()
    }
    obj.attachEvent("on"+type,fn)
  }
}

總結(jié):該種方式對(duì)于單元測(cè)試很難進(jìn)行

改進(jìn)為用簡(jiǎn)單的橋梁模式來(lái)解決

#1,后臺(tái)中的api

function getPetByBame(id,callBack){
    sayncRquest("GET",'url?id='+id,function(pet){
      callBack(pet)
    })

#2,橋梁

//定義一個(gè)橋梁叫抽象和實(shí)現(xiàn)相互聯(lián)系在一起
  addEvent(element,"click",getPetByNameBridge)
  function getPetByNameBridge(){
    getPetByBame(this.id,function(pet){
      consols.log("request pet"+pet.resopnseText);
    })
  }

總結(jié):這種做法使API和展現(xiàn)層完全分離,API和展現(xiàn)層可以靈活的變動(dòng)。

(2)特權(quán)函數(shù)

//特權(quán)函數(shù)
var privilege=function () {
  //信息全封閉,內(nèi)部業(yè)務(wù)邏輯復(fù)雜,做成一個(gè)特權(quán)函數(shù),使調(diào)用方便
  var complex=function (x,y) {
    //復(fù)雜的數(shù)學(xué)處理
  }

 this.bridge=function () { //提供公共接口,返回一個(gè)單體
   return {
     bridgeAdd:function () {
       //處理前
       complex(1,2);
       //處理后
     }

   }
 }
}

(3)多個(gè)類的連接

//多個(gè)類的連接
var class1=function (a,b) {
  this.a=a;
  this.b=b;
}
  var class2=function (e) {
    this.e=e;
  }
  //橋梁的連接
  var bridgeClass=function () {
    this.one=new Class1(1,2);
    this.two=new Class1(1);
  }
//目的:兩個(gè)類能獨(dú)立的修改,而門面的意義在于調(diào)用方便

橋梁模式:

JavaScript如何引入橋梁模式

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

本文名稱:JavaScript如何引入橋梁模式
文章鏈接:http://bm7419.com/article34/gihspe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、建站公司、電子商務(wù)網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)