エリック・エヴァンスのドメイン駆動設計 1章を読んで
上記のイベント参加前に「エリック・エヴァンスのドメイン駆動設計 1章」を読んでの殴り書きです。
活動のサイクル
現在着目しているシナリオにドメインモデルが適応しているか
ドメインモデルあるいはシナリオで登場する言葉に違和感はないか?
- そっちでは「XX」って書いてあるけど、普段は「YY」って言っているやつねという発言がそれにあたると考える
- 2章をチラ見したら熱く語られている。とにかくばらばらの言葉を使っているとコストがあまりにも高くつきすぎる
不要な概念はないか
電源制御のコンテキストの中で停電
が発生した際のシステムのふるまいをモデリングしていた。
具体的には、停電発生時に、UPSが落ちきる前にシステムを安定状態に持っていくというものをモデルに入れていた。
しかし、電源制御なので、電源周りを責務するはずで、
- 内外部の状態、指示に応じて電源をONしたりOFFしたりする
- 電源の現在の状態を通知にしたり、要求に対して応答したりする
以上のことを実施するとおかしいという指摘が入った。
結果としてシステムを安定状態に持っていくのはシステムがわのコンテキスト側でモデリングし、
電源制御はUPS時間待機し、システムの安定状態を受信するか、UPS時間が満了した場合に電源を落とすというモデルに変更した。これで、モデルはすっきりし、電源制御の役割も明確化した。完ぺきではないかもしれないが、エヴァンス本でのモデルの蒸留
(不要な概念の排除)を体験した。