🎯 什麼情境該想到我

當你「有一堆細粒度物件,跨網路呼叫次數太多導致很慢,想用一個粗粒度介面包起來」的時候。

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

意圖:為一組細粒度物件提供一個粗粒度的遠端介面,減少跨程序/跨網路的呼叫次數。

做法要點:

  • 遠端呼叫成本高(序列化、網路延遲),細粒度介面在遠端會很慢。
  • 建立一個外觀物件,把多個細瑣操作聚合成少數幾個粗粒度方法。
  • 外觀本身不含領域邏輯,只做聚合與轉發;領域邏輯留在原本的細粒度物件。
  • 一次遠端呼叫就完成一組相關操作,往返大幅減少。

🧪 我實際套用的紀錄

  • (待填)

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

  • 若呼叫在同一程序內(無遠端邊界),不需要這層。
  • 別把領域邏輯塞進外觀,否則會變成貧血又難維護。
  • 通常與資料傳輸物件搭配,一次把資料整包傳回。

🔗 相關工具