首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 設計模式:橋接模式完整指南(一)— 核心意圖、三大關鍵詞與結構圖解

     編輯:關於C語言

橋接模式核心意圖

**將抽象化與實現化脫耦,使二者可獨立變化** —— GoF 經典定義,三大關鍵詞:抽象化、實現化、脫耦。

三大關鍵詞深度解析

抽象化

  • 存在於多個實體中的共同概念性聯繫
  • 作為過程:忽略某些資訊,將不同實體視為同類
  • 例子:「調製解調器」抽象化了 Hayes/USRobotics/專用線等具體設備

實現化

  • 抽象化給出的具體實現
  • 例子:電話線撥號實現、專用線直連實現、衛星連線實現

脫耦

  • 耦合 = 兩實體行為的強關聯
  • 脫耦 = 將強關聯轉為弱關聯
  • **橋接模式具體做法**:將繼承關係改為**組合/聚合關係**
  • 抽象化類別**持有**實現化介面引用,而非繼承實現化類別

模式結構圖

兩大層級結構

  1. 抽象化層級:Abstraction + RefinedAbstraction
  2. 實現化層級:Implementor + ConcreteImplementorA/B

四大角色職責

角色職責
Abstraction (抽象化)定義抽象介面,持有 Implementor 引用
RefinedAbstraction (修正抽象化)擴展/修正父類抽象定義,提供更高層操作
Implementor (實現化)定義實現介面(底層操作),不給出具體實現
ConcreteImplementor (具體實現化)實作 Implementor 介面的具體邏輯

關鍵設計原則

  • 實現化介面**不一定**與抽象化介面相同,通常更底層
  • 抽象化提供**基於底層操作的高層操作**
  • 「脫耦」= 組合替代繼承 = 合成復用原則 (CARP) 落地
  • 理解橋接 = 理解 OCP + CARP = 正確設計思想的里程碑

別名

  • 柄體模式
  • 介面模式
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved