設計模式(Design Pattern) – Adapter (轉換器模式)

目的

將類別轉換成外界所預期的另一個介面,讓原本困於介面不相容問題而無法協力合作的類別能兜在一起。


解釋

轉接插頭

你可能有一個兩孔的插座,但你使用的是三孔的插頭,所以需要一個[轉接插頭],來轉換介面供插座使用。

 


動機

你可能有一個功能在不同的類別裡面,但你另一個介面又必需實作相同功能,此時可以使用轉換器模式,將另一個類別的功能,實作到該介面


範例

參與者

  • Target – 定義 Client 所使用的介面
  • Client – 與 Target 介面物件合作
  • Adaptee – 欲轉換的既有介面
  • Adapter – 將 Adaptee 轉換成 Target 介面

情境

設計模式與遊戲開發的完美結合書裡的範例我覺得很適合 : 

假設遊戲可以收服怪物,但你必須保留怪物的特性,但又必須讓他符合寵物的介面

如寵物介面

怪物介面 : 

而你有一個怪物哥布林是可以被玩家收服的

設定收服之後,哥布林寵物的攻擊力是根據怪物原本攻擊力乘上等級

print

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *