🎯 什麼情境該想到我
當你的程式碼「依賴具體類別」導致改一處動全身、難替換、難測試時。
⚙️ 怎麼用
- 依賴抽象(介面/父型別),不依賴具體實作:呼叫端只認介面。
- 物件的建立與使用分離:用工廠/注入取得具體實作,使用處不 new 具體類別。
- 好處:實作可自由替換(換套件、換演算法)、可在測試中換測試替身。
🧪 我實際套用的紀錄
- 2026-07-14:(待填)
⚠️ 注意
- 別為了「未來也許會變」而到處加介面;在確有變化點或需要測試隔離時才抽(見 工具-封裝變化點)。
🔗 相關工具
- 工具-優先組合而非繼承 —— 常一起用,組合進來的東西是介面,換實作才不牽動使用端
- 工具-封裝變化點 —— 目的,介面是把變化藏起來最常用的那道牆
- 工具-打破依賴以便測試 —— 驗收方式,能不能塞測試替身進去,就是介面抽對沒有的檢查
- 工具-介面設計原則 —— 品質要求,介面本身設計不好,抽象只是換個地方糾纏