システムの振る舞いを設計する際はコトに着眼する
システム外部の振る舞いを
モデリングする際はコトから理解すると事実関係を整理しやすい
ユーザーは何がきっかけでシステムを利用する?
無いとどうなるか?
代替手段はあるか?
コト=現実世界で起こる事実に着眼する
その前後はなにがあるか
ルーティン化していることがあるか
システム内部をモデリングする際はモノから考える
もっとも依存の小さい末端から考える
現実世界をシステムの世界へ
投影する形でモデルを作り、
問題空間を分割していく
コトの
時空の把握と、その前後に反応するモデルの洗い出し
複数のモデルが同じコトを共有するなら一つのモジュールにできないか
いまは境界があったとしても、あとからくっつくかもしれない
集約を発見できると、サブドメインに分割できる
サブドメインで発生するドメインイベントから、集約の状態遷移を型で構造化できる