一、概述
將抽象部分與它的實現部分分離,使它們都可以獨立地變化。
二、模式中的角色
abstraction:定義抽象類的介面;維護乙個指向implementor型別物件的指標;
refinedabstraction:擴充由abstraction定義的介面;
implementor:定義具體行為,具體特徵的應用介面;
concreteimplementor:實現implementor。
三、uml類圖
四、**實現
4.1 橋接模式的實現**
///4.2 客戶端實現///實現
/// public
abstract
class
implementor
public
class
concreteimplementora : implementor
}public
class
concreteimplementorb : implementor
}//////
抽象
/// public
abstract
class
abstraction
public
abstract
void
opration();
}//////
被提煉的抽象
/// public
class
refinedabstraction: abstraction
}
#region 橋接模式abstraction abstraction = new輸出結果:refinedabstraction();
abstraction.setimplementor(
newconcreteimplementora());
abstraction.opration();
abstraction.setimplementor(
newconcreteimplementorb());
abstraction.opration();
#endregion
參考書籍《設計模式-可復用物件導向軟體的基礎》
學習筆記 設計模式之橋接模式
橋接模式可以應用於不同的不同種類事物之間相互聯絡的條件下。比如不同的角色可以使用不同的 此時就可以使用橋接模式。例如 有幾種圖形cube,cpasule需要繪製,此時有個繪製工具opengl 通用方法為 繪製工具 public class opengl 繪製引擎1號 public class dir...
設計模式 橋接模式
橋接模式 多維 如車行駛在路上。車分各種品牌 各種型號各種排氣 道路分街道 告訴 山地等 駕駛員分男女 為了減少類的數量。如果按照繼承實現會照成大量冗餘的類,類的數量會相當之大 package com.cn.duduyu.bridgepattern.car public abstract class...
設計模式 橋接模式
設計模式 橋接模式 橋接模式 bridge pattern 對應英文名稱可以是bridge或者bradge任意一種都可以。在軟體系統中,某些型別由於自身的邏輯,它具有兩個或多個維度的變化,那麼如何應對這種 多維度的變化 如何利用物件導向的技術來使得該型別能夠輕鬆的沿著多個方向進行變化,而又不引入額外...