這里摘抄一份他處的概念,你可以不必理會(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 }

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式