引例
目前累計(jì)服務(wù)客戶成百上千家,積累了豐富的產(chǎn)品開(kāi)發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹(shù)立企業(yè)形象,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。創(chuàng)新互聯(lián)公司始終以務(wù)實(shí)、誠(chéng)信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過(guò)對(duì)領(lǐng)先技術(shù)的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究、對(duì)客戶形象的視覺(jué)傳遞、對(duì)應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
就拿汽車在路上行駛來(lái)說(shuō) 有小汽車 有公共汽車 它們都不但能在市區(qū)中的公路上行駛 也能在高速公路上行駛 這時(shí)你會(huì)發(fā)現(xiàn) 對(duì)于交通工具(汽車)有不同的類型 然而它們所行駛的環(huán)境也在變化 在軟件系統(tǒng)中就要適應(yīng)這兩個(gè)方面的變化 怎么才應(yīng)付這種變化呢?
概述
在軟件系統(tǒng)中 某些類型由于自身的邏輯 它具有兩個(gè)或多個(gè)維度的 那么如何應(yīng)對(duì)這種 多維度的變化 ?就要利用面向?qū)ο蟮募夹g(shù)來(lái)使得類型能夠沿著多個(gè)方向進(jìn)行 但又不引入額外的復(fù)雜度?這就要用到Bridge模式
意圖
將抽象部分與實(shí)現(xiàn)部分分離 使得它們都可以獨(dú)立的變化 GOF
結(jié)構(gòu)圖
{ {
pubilc void run(){System out println( 在路上 );}
}
public class SpeedWay extends Road
{
public void run(){System out println( 高速公路 );}
}
//市區(qū)街道
public class Street extends Road
{
public void run(){System out println( 市區(qū)街道 );}
}
public class CarOnSpeedWay extends SpeedWay
{
public void run(){System out println( 小汽車在調(diào)整公路上行駛 );}
}
public class BusOnSpeedWay extends SpeedWay
{
public void run(){System out println( 公共汽車在高速公路上行駛 );}
}
public class CarOnStreet extends Street{
public void run(){System out println( 汽車在街道上行駛 );}
}
public class BusOnStreet extends Street{
public void run(){System out println( 公共汽車在街道上行駛 );}
}
傳統(tǒng)做法通過(guò)繼承來(lái)實(shí)現(xiàn)
結(jié)構(gòu)圖
lishixinzhi/Article/program/Java/gj/201311/11160
1.抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問(wèn)題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過(guò)程抽象,二是數(shù)據(jù)抽象。2.繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過(guò)程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。3.封裝:封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過(guò)一個(gè)受保護(hù)的接口訪問(wèn)其他對(duì)象。4.多態(tài)性:多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題。以上這些使得JAVA代碼容易理解和編寫,容易維護(hù)和拓展。
一共23種設(shè)計(jì)模式!
引用《軟件秘笈-設(shè)計(jì)模式那點(diǎn)事》書(shū)籍:
按照目的來(lái)分,設(shè)計(jì)模式可以分為創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式。
創(chuàng)建型模式用來(lái)處理對(duì)象的創(chuàng)建過(guò)程;結(jié)構(gòu)型模式用來(lái)處理類或者對(duì)象的組合;行為型模式用來(lái)對(duì)類或?qū)ο笤鯓咏换ズ驮鯓臃峙渎氊?zé)進(jìn)行描述。
創(chuàng)建型模式用來(lái)處理對(duì)象的創(chuàng)建過(guò)程,主要包含以下5種設(shè)計(jì)模式:
? 工廠方法模式(Factory Method Pattern)
? 抽象工廠模式(Abstract Factory Pattern)
? 建造者模式(Builder Pattern)
? 原型模式(Prototype Pattern)
? 單例模式(Singleton Pattern)
結(jié)構(gòu)型模式用來(lái)處理類或者對(duì)象的組合,主要包含以下7種設(shè)計(jì)模式:
? 適配器模式(Adapter Pattern)
? 橋接模式(Bridge Pattern)
? 組合模式(Composite Pattern)
? 裝飾者模式(Decorator Pattern)
? 外觀模式(Facade Pattern)
? 享元模式(Flyweight Pattern)
? 代理模式(Proxy Pattern)
行為型模式用來(lái)對(duì)類或?qū)ο笤鯓咏换ズ驮鯓臃峙渎氊?zé)進(jìn)行描述,主要包含以下11種設(shè)計(jì)模式:
? 責(zé)任鏈模式(Chain of Responsibility Pattern)
? 命令模式(Command Pattern)
? 解釋器模式(Interpreter Pattern)
? 迭代器模式(Iterator Pattern)
? 中介者模式(Mediator Pattern)
? 備忘錄模式(Memento Pattern)
? 觀察者模式(Observer Pattern)
? 狀態(tài)模式(State Pattern)
? 策略模式(Strategy Pattern)
? 模板方法模式(Template Method Pattern)
? 訪問(wèn)者模式(Visitor Pattern)
Java中的bridge method又叫橋接方法
橋接方法是 JDK 1.5 引入泛型后,為了使Java的泛型方法生成的字節(jié)碼和 1.5 版本前的字節(jié)碼相兼容,由編譯器自動(dòng)生成的方法。
我們可以通過(guò)Method.isBridge()方法來(lái)判斷一個(gè)方法是否是橋接方法,在字節(jié)碼中橋接方法會(huì)被標(biāo)記為ACC_BRIDGE和ACC_SYNTHETIC,其中ACC_BRIDGE用于說(shuō)明這個(gè)方法是由編譯生成的橋接方法,ACC_SYNTHETIC說(shuō)明這個(gè)方法是由編譯器生成,并且不會(huì)在源代碼中出現(xiàn)。
當(dāng)前題目:橋接模式j(luò)ava代碼 js橋接模式
本文地址:http://muchs.cn/article24/hgsgce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站改版、面包屑導(dǎo)航、企業(yè)網(wǎng)站制作、定制網(wǎng)站、軟件開(kāi)發(fā)
聲明:本網(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)