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