🎯 什麼情境該想到我
當你「想用設定或註解描述物件與資料表的對應,讓框架自動幫你產生存取程式碼」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:把「物件欄位 ↔ 資料表欄位」的對應關係,用中繼資料(外部設定檔或程式內註解)描述,而不是把對應邏輯寫死在每個類別裡。
做法要點:
- 用設定檔(如 XML/YAML)或程式碼註解描述每個類別對應哪張表、每個屬性對應哪個欄位。
- 框架在執行期讀這些中繼資料,可用兩種方式運作:
- 反射式:執行時依中繼資料動態讀寫欄位。
- 產生碼式:事先依中繼資料產生存取原始碼再編譯。
- 這是 ORM 框架(如 Hibernate)的核心手法,讓對應集中、可維護。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 反射式較慢且較難除錯;中繼資料錯了問題不易追。
- 對應很簡單、只有少數類別時,直接手寫對應反而清楚。
- 中繼資料會變成另一套要學的「隱形語言」,需良好文件與工具支援。
🔗 相關工具
- 查詢物件 Query Object(在中繼資料之上,用物件描述查詢條件)
- 儲存庫 Repository(常以中繼資料對應為底層,對外提供集合式介面)
- 企業應用架構模式