1.場景:當產品有複雜的資訊時,如圖,實現這樣的關係,可以使用多層繼承關係,但擴充套件會造成類個數膨脹,並且違反單一職責原則。
我們可以將產品劃分為兩個維度,兩個維度分別建立類,再搭設橋梁將兩個類聯絡,構成產品,易於擴充套件,保證單一職責。
2.**實現
//不使用橋接模式(多層繼承)
public inte***ce computer
class desktop implements computer
}class laptop implements computer
}class pad implements computer
}class lenovodesktop extends desktop
}class lenovolaptop extends laptop
}class lenovopad extends pad
}class shenzhoudesktop extends desktop
}class shenzhoulaptop extends laptop
}class shenzhoupad extends pad
}class delldesktop extends desktop
}class delllaptop extends laptop
}class dellpad extends pad
}//使用橋接模式
/** * 品牌
* @author administrator
* */
public inte***ce brand
class lenovo implements brand }
class dell implements brand }
class shenzhou implements brand }
/** * 電腦型別的維度
3.總結1)橋接模式可以取代多層繼承的方案。多層繼承違背了單一職責原則,復用性較差,類的個數也非常多。橋接模式可以極大的減少類的個數,從而降低管理和維護的成本。
2)橋接模式極大的提高了系統可擴充套件性,在兩個變化維度中任意擴充套件乙個維度,都不需要修改原有的系統,符合開閉原則。
4.應用場景
1)jdbc驅動程式
2)awt中的peer架構
3)銀行日誌管理:
-格式分類:操作日誌、交易日誌、異常日誌
-距離分類:本地記錄日誌、異地記錄日誌
4)人力資源系統中的獎金計算模組:
-獎金分類:個人獎金、團體獎金、激勵獎金
-部門分類:人事部門、銷售部門、研發部門
5)oa系統中的訊息處理:
-業務型別:普通資訊、加急訊息、特急訊息
-傳送訊息方式:系統內訊息、手機簡訊、郵件
設計模式 橋接模式
橋接模式 多維 如車行駛在路上。車分各種品牌 各種型號各種排氣 道路分街道 告訴 山地等 駕駛員分男女 為了減少類的數量。如果按照繼承實現會照成大量冗餘的類,類的數量會相當之大 package com.cn.duduyu.bridgepattern.car public abstract class...
設計模式 橋接模式
設計模式 橋接模式 橋接模式 bridge pattern 對應英文名稱可以是bridge或者bradge任意一種都可以。在軟體系統中,某些型別由於自身的邏輯,它具有兩個或多個維度的變化,那麼如何應對這種 多維度的變化 如何利用物件導向的技術來使得該型別能夠輕鬆的沿著多個方向進行變化,而又不引入額外...
設計模式 橋接模式
橋接模式 用來解決多維度變化問題,一般適用於解決乙個物件有多個屬性同時變化,通過橋接的方式使多種屬性變化解耦,場景 1.畫筆 大小有大中小三種,每種對應5種不同的顏色 這裡的變化屬性為大小 顏色 詳解 抽象類 abstraction 定義抽象類的介面,維護乙個指向implementor型別物件的指標...