コトを記録するように振り切る
上記のオブジェクトをまとめるオブジェクトについて書きました。
これは、コトの記録もモノの記録も同じ世界線にある前提です。
しかし、コトを記録することに振り切った設計にした方が良い気がしてきました。
なぜなら、この世界はコトの積み重ねしか無いように考えた方が自然な気がするからです。
ちゃんと言語化出来ていないので、うまく伝えられません。
コトの記録に振り切るとはどういう事か?
人間
というドメインモデルがあるとします。
この人間
を識別する為に、名前
というドメインモデルがあります。
Javaでは下記のように表現する事が出来ると思います。
class 人間 {
名前 名前;
}
上記のコトの記録もモノの記録も同じ世界線にある前提
applicationでこの人間を永続化することに価値があるならば下記のようなRepositoryがあると便利そうです。
interface 人間Repository { void add(人間 人間); }
コトの記録に振り切った前提
人間が誕生するというコトを記録します。
class 人間誕生 { 名前 名前; }
人間誕生Repository { void add(人間誕生 人間誕生) }