橋接模式屬於先天模式,這裡的先天模式就是說一開始就要把結構搭建好,方便後來的擴充套件,而不是對已經出現的模組和介面進行改進擴充套件的。橋接的核心在於實體類和操作類之間的聚合關係,這個聚合關係就是我們所說的"橋",不同於裝飾、**和介面卡模式的中的聚合關係,橋接不存在兩者之間的繼承關係,操作類是完全解耦的,而實體類對於操作類也只是弱耦合。將抽象部份與它的實現部份分離,使它們都可以獨立地變化。
//操作類
class action
;class write : public action
};class draw : public action
};class gift : public action
};//實體類
上面例子簡單的說明了實體類pen和操作類action之間的橋接關係,如果需要擴充套件的情況下,我們可以分別對pen和action進行繼承擴充套件,不會牽扯到另外一邊的改動。比如我們再擴充套件一種筆或者一種筆的用法,直接擴充套件筆的種類或者用法的種類即可,這樣就達到了低耦合易擴充套件的目的。
當物件存在多種變化的因素時,考慮對其變化的因素和場景進行抽象,然後進行橋接;如筆擁有不同的功能。
當多個物件存在多種變化的因素時,考慮將這部分變化的部分抽象出來再聚合進來;比如不同品牌的電腦安裝不同的系統、使用不同的軟體等,相當於將第一條進行橫向擴充套件,增加橋接的數量。
設計模式之橋接模式 Bridge
優點 1 將可能變化的部分單獨封裝起來,使得變化產生的影響最小 2 抽象部分和實現部分單獨變動,並且每一部分的擴充都不會破壞橋接模式搭起來 的架子 缺點 1 結構比較複雜 2 抽象類的修改影響到子類 include using namespace std 作業系統 class os class wi...
設計模式 橋接模式 Bridge
開啟銀行賬戶,顯示是哪個銀行的,賬戶型別是什麼 這裡給bank增加兩個實現類,乙個工商銀行,乙個農業銀行,給account也增加兩個實現類,乙個定期存款賬戶,乙個活期存款賬戶,詳細 如下 account介面 賬戶介面 author 七夜雪 create 2018 11 23 20 49 public...
設計模式 橋接模式Bridge
前言 模式總覽 by xingoo 這個模式使用的並不多,但是思想確實很普遍。就是要分離抽象部分與實現部分。實現弱關聯,即在執行時才產生依賴關係。降低 之間的耦合。abstraction 抽象部分的基類,定義抽象部分的基礎內容。refinedabstraction 抽象部分的擴充,用於對基類的內容補...