DDD読書中

Domain-Driven Design: Tackling Complexity in the Heart of Software

Domain-Driven Design: Tackling Complexity in the Heart of Software

「Supple Design」のセクションは読み応えあり.

気に入ったところは、「Breackthrough」のセクションでも出てきた、ローンの例にリファクタリングしていくところ.
流れがこんな感じ

  • 1つのごちゃごちゃしたメソッドをIntention-Revealing Interfacesに従って、意図の明確な2つメソッドに分割
  • SharePieの導入
    • 複雑なローンの計算ロジック.一般に知られる数学の概念(シェア、パイ)で表現できれば、普通のプログラマにもドメインエキスパートにもわかりやすい.
    • SharePieは immutable Value Objectのため、Side-Effect-Free Functions(状態変更のない)やClosuer of Operations(SharePieで閉じている)などの合わせ技が使い易い.
  • 書かれたゴードを全体を見渡すと、ごちゃごちゃしたものから、より意図のわかり易いコードへ


Value Objectとその周辺、すげぇと思った.