橋接模式核心意圖
**將抽象化與實現化脫耦,使二者可獨立變化** —— GoF 經典定義,三大關鍵詞:抽象化、實現化、脫耦。
三大關鍵詞深度解析
抽象化
- 存在於多個實體中的共同概念性聯繫
- 作為過程:忽略某些資訊,將不同實體視為同類
- 例子:「調製解調器」抽象化了 Hayes/USRobotics/專用線等具體設備
實現化
- 抽象化給出的具體實現
- 例子:電話線撥號實現、專用線直連實現、衛星連線實現
脫耦
- 耦合 = 兩實體行為的強關聯
- 脫耦 = 將強關聯轉為弱關聯
- **橋接模式具體做法**:將繼承關係改為**組合/聚合關係**
- 抽象化類別**持有**實現化介面引用,而非繼承實現化類別
模式結構圖

兩大層級結構
- 抽象化層級:Abstraction + RefinedAbstraction
- 實現化層級:Implementor + ConcreteImplementorA/B
四大角色職責
| 角色 | 職責 |
| Abstraction (抽象化) | 定義抽象介面,持有 Implementor 引用 |
| RefinedAbstraction (修正抽象化) | 擴展/修正父類抽象定義,提供更高層操作 |
| Implementor (實現化) | 定義實現介面(底層操作),不給出具體實現 |
| ConcreteImplementor (具體實現化) | 實作 Implementor 介面的具體邏輯 |
關鍵設計原則
- 實現化介面**不一定**與抽象化介面相同,通常更底層
- 抽象化提供**基於底層操作的高層操作**
- 「脫耦」= 組合替代繼承 = 合成復用原則 (CARP) 落地
- 理解橋接 = 理解 OCP + CARP = 正確設計思想的里程碑
別名