🎯 什麼情境該想到我
當你「要跨程序傳輸多筆資料,想打包成一個物件一次傳完、減少往返」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:把一次呼叫所需的多項資料,集中成一個可序列化的物件一次傳輸,降低昂貴的遠端往返次數。
做法要點:
- DTO 是單純的資料容器(一堆欄位+存取子),不含業務邏輯。
- 必須可序列化,才能跨網路傳送。
- 用一個組裝器(Assembler)在領域物件與 DTO 之間互轉,隔離兩者。
- 一次呼叫就把整組資料帶過去/帶回來,取代多次細瑣呼叫。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 沒有遠端邊界(同程序內)時,多做 DTO 與組裝是浪費。
- DTO 與領域物件的重複欄位需維護同步,成本要納入考量。
- 別把領域邏輯放進 DTO,它就該是笨資料。
🔗 相關工具
- 遠端外觀 Remote Facade(DTO 通常作為遠端外觀方法的參數與回傳值)
- 企業應用架構模式