原創(chuàng)作品,可以轉(zhuǎn)載,但是請標(biāo)注出處地址http://www.cnblogs.com/V1haoge/p/6497919.html
這里摘抄一份他處的概念,你可以不必理會,先看下面得講解與實例,然后返回來理解概念,不然抽象的概念會讓你崩潰...
橋接(Bridge)是用于把抽象化與實現(xiàn)化解耦,使得二者可以獨立變化。這種類型的設(shè)計模式屬于結(jié)構(gòu)型模式,它通過提供抽象化和實現(xiàn)化之間的橋接結(jié)構(gòu),來實現(xiàn)二者的解耦。
這種模式涉及到一個作為橋接的接口,使得實體類的功能獨立于接口實現(xiàn)類。這兩種類型的類可被結(jié)構(gòu)化改變而互不影響。
個人理解:橋接是一個接口,它與一方應(yīng)該是綁定的,也就是解耦的雙方中的一方必然是繼承這個接口的,這一方就是實現(xiàn)方,而另一方正是要與這一方解耦的抽象方,如果不采用橋接模式,一般我們的處理方式是直接使用繼承來實現(xiàn),這樣雙方之間處于強(qiáng)鏈接,類之間關(guān)聯(lián)性極強(qiáng),如要進(jìn)行擴(kuò)展,必然導(dǎo)致類結(jié)構(gòu)急劇膨脹。采用橋接模式,正是為了避免這一情況的發(fā)生,將一方與橋綁定,即實現(xiàn)橋接口,另一方在抽象類中調(diào)用橋接口(指向的實現(xiàn)類),這樣橋方可以通過實現(xiàn)橋接口進(jìn)行單方面擴(kuò)展,而另一方可以繼承抽象類而單方面擴(kuò)展,而之間的調(diào)用就從橋接口來作為突破口,不會受到雙方擴(kuò)展的任何影響。
下面的實例能真正體現(xiàn)著一點:
實例準(zhǔn)備:我們假設(shè)有一座橋,橋左邊為A,橋右邊為B,A有A1,A2,A3等,表示橋左邊的三個不同地方,B有B1,B2,B3等,表示橋右邊的三個不同地方,假設(shè)我們要從橋左側(cè)A出發(fā)到橋的右側(cè)B,我們可以有多重方案,A1到B1,A1到B2,A1到B3,A2到B1...等等,以此為例,代碼如下:
橋接口:Qiao
1 public interface Qiao