hAcKTion

日々のアウトプット場所。

エリック・エヴァンスのドメイン駆動設計の第3部を読む(1)

会社の一部メンバーで、エリック・エヴァンスのドメイン駆動設計をActive Book Dialog形式で読んでいます。

自分は割と聞き専で追いかけつつ、途中2回飛んでしまったりして、やや脱落気味だったのですが、ひょんなことから、「第3部 より深い洞察へ向かうリファクタリング」の部分(8章の手前まで)をまとめる担当になりました。

そこで、まとめる前に、ノートに書いたメモを見ながら、感想や発見などをブログに書いていこうと思います。 ちなみに、一応一度第3部を全部読んで、ノートにメモを書いた状態で、このブログを書いています。

第3部冒頭

第3部のタイトルになっている「洞察」とは何だろうと思って調べてみると、
「物事を観察して、その本質や、奥底にあるものを見抜くこと」らしい。
それに向かうリファクタリングってなんだろう。と、すでにタイトルから疑問符がついていて、やや不安。

第2部からの流れで、モデルと実装との一致を保つための基礎ができている前提で、本来の課題を掲げている。
おそらく、課題というのが、この、ドメイン駆動設計のゴールなのだろう。
「的確なモデルを実際に見つけること」というゴールを達成することを本では書かれている。

ただ、「的確なモデル」とは、「ドメインについての深い理解をとらえたモデル」ということのようだ。
つまり、言い換えると、「ドメインについての深い理解をとらえたモデルを実際に見つけること」という課題に対して考えていく事になるようだ。
(初めからそう言って欲しい)

このモデルが完成できると、ソフトウェアがドメインエキスパートの考え方にさらに一致し、ユーザの要望に対してより機敏にうまく対応できるようになるようだ。

なるほど。とりあえずやろうとしている目標はステキな感じなので、そのモデルをどうやって見つけるかをこの部と以降の章で解説されるのだろうな。

そして、ここでいきなり本題に入っているようで、やや展開が急。
役立つモデルの開発が成功している3つの要素が紹介される。

この3つの要素、微妙に並列の関係ではない・・・。
噛み砕くと、「簡単にはできない」「ドメインエキスパートと、開発者の協力が必要」「繰り返し行うリファクタリングのプロセス」「モデルを実装に落とし込むのには高度な設計スキルが必要となるだろう」という4つになった(増えた・・・)

感想

冒頭ですでにやや混乱気味だけど、一度セクション全部を読んだ上で復習するような感覚で2回目のアウトプットをすると、自分の中での解釈が少し深くなった気がした。明日もやってみよう。