Skip to content

Adapter Pattern

轉接器模式

01你是不是遇到這個 / THE SYMPTOM

我想換掉現在用的金流/簡訊/AI 廠商,結果發現程式裡到處都直接呼叫那家的 API 名稱和格式,光是要換一家就得改幾十個地方。

↑ 如果你點頭了,你要的關鍵字就是 Adapter Pattern

02這是什麼 / DEFINITION

一種設計模式:在你的程式和外部服務之間放一層「轉接層」,定義一套自己的統一介面,再讓不同廠商的實作去符合它,外面的程式只認你定義的介面、不認廠商。

03什麼時候用 / WHEN TO USE

當你要對接多個提供類似功能但 API 不一樣的外部服務(金流、簡訊、雲端儲存、LLM 供應商),或想保留「將來能換廠商」的彈性時使用。

04怎麼跟 AI 說 / HOW TO ASK

直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:

我現在直接呼叫 Stripe 的 API。請用轉接器模式(adapter pattern)抽一層 PaymentProvider 介面出來,讓 Stripe 變成其中一個實作,之後我要加 PayPal 只要再寫一個 adapter。
05常見坑 / WATCH OUT

別跟 facade(外觀模式)搞混:adapter 是「把不相容的介面轉成相容」,facade 是「把一堆複雜的子系統包成一個簡單入口」。如果你只串一家、短期內也不會換,硬加 adapter 反而是過度設計。

06相關的詞 / RELATED