目標
・ふわっとした理解のDDDについてエヴァンス本を通して体系的に学習する
・各章の要約をアウトプットすることで知識を定着させる
前回の記事
第1章の内容は以下でまとめています。
【第2章】コミュニケーションと言語の使い方
・ユビキタス言語
ドメインモデルを元にした共通言語。
ユビキタス言語への献身がチームのコミュニケーションをソフトウェアの実装と結び付け役立つモデルの開発につながる。
声に出してモデリングする
ユビキタス言語ベースのシナリオや会話を通して、もし単語や文法の違和感を感じればそれをモデルに反映できる。
1つのチームに1つの言語
言語の仕切りをドメインエキスパートとエンジニアの間に置くのではなく、
ユビキタス言語を用いることで相互理解が深まり、モデル概念に磨きがかかる。
ドメインと図
シンプルなUML図によって、オブジェクトの関係性や名前をチームに共有しながら対話を進めることができる。
しかし本質的なオブジェクトの理解はコードにおいて捉えなければならない。(モデルとコードが結びついているため)
書かれた設計ドキュメント
ドキュメントではコードや会話の補助をすることに焦点をあて、最小限に留めなければならない。
実行可能な基盤
ユビキタス言語を用いたモデリングによって変更が加えられたメソッドは、
メソッド名や変数名等もふるまいと矛盾しない宣言に修正しなければならない。
説明のためのモデル
ドメインに関する一般的な知識についての学習目的であれば、ソフトウェア設計と関係しない別種のモデルを通して
コミュニケーションをとることは有効である。
例)スコープが限られたドメインを例にすることでモデルをわかりやすく伝えることがでる。
【まとめ】
ユビキタス言語ベースでのコミュニケーションがモデルやソフトウェア設計にどのような有効性を与えるか、
またユビキタス言語をうまく活用する方法について学ぶことができた。
第3章ではモデルと実装を結びつけについて理解していく。
参考になったらいいねやコメントおまちしています!!