當實現乙個操作,有抽象和實現的疊加時,用橋模式可以比較好的解決。
比如飛機分為:客機,貨機,空中巴士,波音
客機,貨機就是一種抽象,airbus, bocing就是一種實現,兩者之間有疊加,有一種排列組合的關係。如果不用設計模式進行結構的設計,**可能就會很混亂。下面給出乙個演示的例子。
抽象介面plane
package org.bluebea.gof.bridge;
public abstract class plane
public abstract void fly();
}說明:抽象介面中有乙個實現介面物件的實現,以保證兩個介面發生關係。
可以在構造抽象介面實現時,放入實現物件。但以後的子類在構造時都會有這種操作。
實現介面planemaker
package org.bluebea.gof.bridge;
public abstract class planemaker
public void fly()
抽象實現cargoplane
package org.bluebea.gof.bridge;
public class cargoplane extends plane
public void fly()
實現介面實現bocing
package org.bluebea.gof.bridge;
public class bocing extends planemaker
public void make()
實現介面實現airbus
package org.bluebea.gof.bridge;
public class airbus extends planemaker
public void make()
取得實現物件的單態類
package org.bluebea.gof.bridge;
public class planemakersingle
public static planemaker getplanemaker()
}
設計模式 橋接模式
橋接模式 多維 如車行駛在路上。車分各種品牌 各種型號各種排氣 道路分街道 告訴 山地等 駕駛員分男女 為了減少類的數量。如果按照繼承實現會照成大量冗餘的類,類的數量會相當之大 package com.cn.duduyu.bridgepattern.car public abstract class...
設計模式 橋接模式
設計模式 橋接模式 橋接模式 bridge pattern 對應英文名稱可以是bridge或者bradge任意一種都可以。在軟體系統中,某些型別由於自身的邏輯,它具有兩個或多個維度的變化,那麼如何應對這種 多維度的變化 如何利用物件導向的技術來使得該型別能夠輕鬆的沿著多個方向進行變化,而又不引入額外...
設計模式 橋接模式
橋接模式 用來解決多維度變化問題,一般適用於解決乙個物件有多個屬性同時變化,通過橋接的方式使多種屬性變化解耦,場景 1.畫筆 大小有大中小三種,每種對應5種不同的顏色 這裡的變化屬性為大小 顏色 詳解 抽象類 abstraction 定義抽象類的介面,維護乙個指向implementor型別物件的指標...