ドメインとは
ソフトウェアで問題解決しようとする対象領域
ドメインモデル
ドメインの問題を解決するためのモデル
いいモデルとは?
問題を解決できるモデル
いいモデルを作るためには?
ドメインエキスパートに話を聞く
運用して得られた発見をモデルに還元する
ユビキタス言語
開発者、ビジネス側、ドキュメント、コードで同じ意味の言葉が使われる
モデルを直接反映するコード→極力モデルとコードの表現を近づける
モデル表現を隔離するアーキテクチャ
取り組む上での考え方
課題ドリブン→解決したい課題を明確にする
問題解決しようとするドメインが簡単かどうか
DDD固有のモデリング方法
集約
必ず守りたい強い整合性を持ったオブジェクトの集まり
境界づけられたコンテキスト
凝集度
一つのクラスについて、責務、データ、振る舞いの関連の強さの尺度
このクラスは何をするクラスか?がわかりやすいといい
結合度
複数のクラス同士が依存している度合いの尺度