設計模式 橋接模式

2021-06-26 04:48:25 字數 1237 閱讀 6692

橋接模式:  多維

如車行駛在路上。車分各種品牌、各種型號各種排氣

道路分街道、告訴、山地等

駕駛員分男女

為了減少類的數量。(如果按照繼承實現會照成大量冗餘的類,類的數量會相當之大)

package com.cn.duduyu.bridgepattern.car;

public abstract class carbrand

package com.cn.duduyu.bridgepattern.car;

public abstract class driverabstract

package com.cn.duduyu.bridgepattern.car;

public abstract class engineabstract

package com.cn.duduyu.bridgepattern.car;

public abstract class roadabstract

package com.cn.duduyu.bridgepattern.car;

public abstract class carabstract

public void setrode(roadabstract rode)

public void setdirver(driverabstract dirver)

public void setengine(engineabstract engine)

public abstract void run();

}

乙個美女開著一輛(driver)排油量為2500cc的(engine)benz_(brand)敞篷跑車(carabstract)行駛在高速公路上(road)

將各個屬性抽象成類,具體的子類繼承,再組合成不同的組合,在這裡implementor有:roadabstract、driverabstract、engineabstract、carbrand;

而abstraction為carabstract。所以當駕駛員型別增加青蛙和恐龍,汽車排氣量增加3000cc,汽車品牌增加bmw,道路增加山路、沙漠,僅僅只需繼承對應的抽象類,形成新類即可。

圖摘自大話設計模式231頁

設計模式 橋接模式

設計模式 橋接模式 橋接模式 bridge pattern 對應英文名稱可以是bridge或者bradge任意一種都可以。在軟體系統中,某些型別由於自身的邏輯,它具有兩個或多個維度的變化,那麼如何應對這種 多維度的變化 如何利用物件導向的技術來使得該型別能夠輕鬆的沿著多個方向進行變化,而又不引入額外...

設計模式 橋接模式

橋接模式 用來解決多維度變化問題,一般適用於解決乙個物件有多個屬性同時變化,通過橋接的方式使多種屬性變化解耦,場景 1.畫筆 大小有大中小三種,每種對應5種不同的顏色 這裡的變化屬性為大小 顏色 詳解 抽象類 abstraction 定義抽象類的介面,維護乙個指向implementor型別物件的指標...

設計模式 橋接模式

1 橋接模式感覺就是來解決耦合的,個人的一點理解,參考 大話設計模式 2 具體實現,以手機品牌和手機遊戲為例,手機有很多品牌,而手機有很多個遊戲,即各個手機品牌有很多個子類,手機遊戲有很多個子類,通過建立手機品牌抽象類,定義乙個手機遊戲介面物件,在不同的手機品牌實現類中將手機介面指向具體的實現類來達...