這篇文章主要講解了JavaScript如何引入橋梁模式,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
我們提供的服務(wù)有:網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、惠東ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的惠東網(wǎng)站制作公司
1.使用情況
#1,利用頁面的button來選擇寵物的例子(思路)
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:需要增加事件的對象 * type:事件名稱 * fn:執(zhí)行事件的函數(shù) * */ function addEvent(obj,type,fn){//addEvent:為某個文檔節(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é):該種方式對于單元測試很難進(jìn)行
改進(jìn)為用簡單的橋梁模式來解決
#1,后臺中的api
function getPetByBame(id,callBack){ sayncRquest("GET",'url?id='+id,function(pet){ callBack(pet) })
#2,橋梁
//定義一個橋梁叫抽象和實(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)層可以靈活的變動。
//特權(quán)函數(shù) var privilege=function () { //信息全封閉,內(nèi)部業(yè)務(wù)邏輯復(fù)雜,做成一個特權(quán)函數(shù),使調(diào)用方便 var complex=function (x,y) { //復(fù)雜的數(shù)學(xué)處理 } this.bridge=function () { //提供公共接口,返回一個單體 return { bridgeAdd:function () { //處理前 complex(1,2); //處理后 } } } }
//多個類的連接 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); } //目的:兩個類能獨(dú)立的修改,而門面的意義在于調(diào)用方便
橋梁模式:
看完上述內(nèi)容,是不是對JavaScript如何引入橋梁模式有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文名稱:JavaScript如何引入橋梁模式
文章鏈接:http://aaarwkj.com/article34/gihspe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、建站公司、電子商務(wù)、網(wǎng)站設(shè)計、App設(shè)計、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)