設計模式筆記 – 適配器模式

分類

  • 結構型

模式的目的(定義)

  • 使兩個接口不兼容的類可以通過同一種方式去調用
    • 利用一個「適配器」類,實現與適配目標類同樣的接口,然後再把要做適配的對象傳入「適配器」類
    • 客戶引用這個適配器類,調用外面看著跟適配目標類一樣的接口
      • 適配器接口內部實際上把調用委托了給需要適配的對象

使用場景例子

  • 當存在這樣一個時機,就可以創建一個/些適配器類以實踐適配器模式
    • 有N個類需要和某個類以同一個接口進行調用,但是這個類跟其他N個類;N個類彼此之間也沒有繼承關係
  • 現實場景:新對象跟舊對象之間的兼容
    • 舊對象的一些接口可能已不再能使用,或者不想暴露給用戶,但是舊對象的底層邏輯又不想去更改它,這時候就可以「將舊對象適配至新對象」
    • 用戶最後所看到,仍然是新的接口調用方式,但是底層執行邏輯卻仍然是舊的那一套

類圖

參考書目

  • 《Head First Design Patterns》Eric Freeman, Elisabeth Robson, Kathy Sierra, Bert Bates