封裝(Encapsulation)是良好模組化的關鍵,
它讓模組不需知道系統其他部分細節,減少系統變化時要修改的地方。
本章介紹與封裝相關的重構技術。

封裝的核心精神:隱藏實作細節,只暴露必要介面
良好封裝能讓你不影響外部使用者,自由修改內部實作。

mindmap
  root((封裝 Encapsulation))
    資料封裝
      Encapsulate Record
      Encapsulate Collection
      Replace Primitive with Object
    變數與暫存
      Encapsulate Variable
      Replace Temp with Query
    類別結構
      Extract Class
      Inline Class
    委託關係
      Hide Delegate
      Remove Middle Man
    演算法
      Substitute Algorithm