這里摘抄一份他處的概念,你可以不必理會(huì),先看下面得講解與實(shí)例,然后返回來(lái)理解概念,不然抽象的概念會(huì)讓你崩潰...
橋接(Bridge)是用于把抽象化與實(shí)現(xiàn)化解耦,使得二者可以獨(dú)立變化。這種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它通過(guò)提供抽象化和實(shí)現(xiàn)化之間的橋接結(jié)構(gòu),來(lái)實(shí)現(xiàn)二者的解耦。
這種模式涉及到一個(gè)作為橋接的接口,使得實(shí)體類(lèi)的功能獨(dú)立于接口實(shí)現(xiàn)類(lèi)。這兩種類(lèi)型的類(lèi)可被結(jié)構(gòu)化改變而互不影響。
個(gè)人理解:橋接是一個(gè)接口,它與一方應(yīng)該是綁定的,也就是解耦的雙方中的一方必然是繼承這個(gè)接口的,這一方就是實(shí)現(xiàn)方,而另一方正是要與這一方解耦的抽象方,如果不采用橋接模式,一般我們的處理方式是直接使用繼承來(lái)實(shí)現(xiàn),這樣雙方之間處于強(qiáng)鏈接,類(lèi)之間關(guān)聯(lián)性極強(qiáng),如要進(jìn)行擴(kuò)展,必然導(dǎo)致類(lèi)結(jié)構(gòu)急劇膨脹。采用橋接模式,正是為了避免這一情況的發(fā)生,將一方與橋綁定,即實(shí)現(xiàn)橋接口,另一方在抽象類(lèi)中調(diào)用橋接口(指向的實(shí)現(xiàn)類(lèi)),這樣橋方可以通過(guò)實(shí)現(xiàn)橋接口進(jìn)行單方面擴(kuò)展,而另一方可以繼承抽象類(lèi)而單方面擴(kuò)展,而之間的調(diào)用就從橋接口來(lái)作為突破口,不會(huì)受到雙方擴(kuò)展的任何影響。
下面的實(shí)例能真正體現(xiàn)著一點(diǎn):
實(shí)例準(zhǔn)備:我們假設(shè)有一座橋,橋左邊為A,橋右邊為B,A有A1,A2,A3等,表示橋左邊的三個(gè)不同地方,B有B1,B2,B3等,表示橋右邊的三個(gè)不同地方,假設(shè)我們要從橋左側(cè)A出發(fā)到橋的右側(cè)B,我們可以有多重方案,A1到B1,A1到B2,A1到B3,A2到B1...等等,以此為例,代碼如下:
橋接口:Qiao
1 public interface Qiao {2 //目的地B3 void targetAreaB();4 }
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26