エリックエバンスのドメイン駆動設計の「第13章 より深い洞察へ向かうリファクタリング」まとめ

エリック・エヴァンスのドメイン駆動設計

エリック・エヴァンスのドメイン駆動設計

今回は、「第13章 より深い洞察へ向かうリファクタリング」のまとめです。

重点的に取り組む活動

より深い洞察へ向かうリファクタリングにおいて、重点的に取り組む活動は以下3点となります。

  1. ドメインを学習する。

  2. 常に、物事に対して違う見方をする。

  3. ドメインエキスパートとの対話を途切れさせない。

開始

リファクタリングは様々な方法で始めることが可能で、最初のアプローチはコードの見直しではなく、ドメインモデルの見直しです。

探求

ドメインモデルの見直しにおいて、ドメインモデルに対する不満の原因が何であれ、意図を明確かつ自然に伝達するようモデルを改良する方法を探し出すことです。

先達の技

改良の探し出す手がかりとして、欠けている概念やより優れたモデルを求めるブレインストーミングのプロセスは極めて懐く、どんな情報源からの考え方でも吸収できます。 具体的な情報源は

などが挙げられます。

これらの情報源と現場の知識と組み合わせてかみ砕き続けることで、現状の問題に対する答えを探します。

タイミング

リファクタリングを実施するタイミングを判断することは難しいが、以下に該当する場合はリファクタリングを実施すべきです。

  • 設計が、ドメインに関するチームの現在の理解を表現していない。

  • 重要な概念が設計で暗黙的になっている。(明示的にする方法がわかっている。)

  • 設計において重要な部分を、よりしなやかにするチャンスがある。

まとめ

深い洞察へと向かうリファクタリングは、継続したプロセスです。

モデルを安定して改良しているところで、突然ブレイクスルーが起こるかもしれません。

ブレイクスルーが起こることによって、深いモデルとしなやかな設計に繋がる変更が発生します。

そして、また安定した改良が始まり、ブレイクスルーがいつか起こる。という繰り返しになります。

以上が「第13章 より深い洞察へ向かうリファクタリング」のまとめです。