🎯 什麼情境該想到我

當你「厭倦到處寫 null 檢查、想讓『特殊情況』自己有預設行為」的時候。

⚙️ 怎麼用(步驟 / 公式)

意圖:用一個代表「特殊情況」的子類別取代 null,把該情況的行為封裝進去。

做法要點:

  • 為特殊情況(如查無資料、未知客戶)建立子類別,實作與正常物件相同的介面。
  • 在方法裡回傳合理的預設行為,讓呼叫端可一視同仁地呼叫,不必先判空。
  • Null Object(空物件)是其常見特例,代表「什麼都不做/中性值」。

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • 若各處對「特殊情況」的期望行為不一致,硬塞單一預設反而會藏 bug。
  • 只有零星一兩處判空時,直接判斷可能更清楚,不需引入子類別。
  • 要小心別讓特例默默吞掉真正該報錯的情況。

🔗 相關工具