🎯 什麼情境該想到我
當你「發現某一層的所有類別都有共同的行為或欄位、想收攏起來」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:讓某一層的所有類別共用一個父類別,收納該層共同的行為與欄位。
做法要點:
- 為該層建立一個共同父類別(supertype),例如所有領域物件共用的 id、相等性判斷等。
- 把重複的行為與欄位上移到父類別,子類別只保留各自的差異。
- 一層可能有不只一個層超型,視共同性而定。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 若該層只有單一類別,就不需要層超型。
- 別把不相干的共同點硬塞進同一父類別,只放真正屬於這一層的共通性。
- 小心繼承過深;只是為了共用少量程式碼時,考慮組合或工具類別。
🔗 相關工具
- 特例 Special Case(以子類別封裝特殊情況,常搭配層超型)
- 分離介面 Separated Interface(用介面而非繼承來解相依)
- 企業應用架構模式