Entityを小さく作る
「大きい事自体が問題ではない」という可能性はある
正しい姿が、実は大き姿であって、これ以上どう小さくしても相対的に実装がムズカシクなるという可能性がある
少なくとも以下の2つの謎がある
そのモデリングをする際に適切な大きさをどうやって測るのか?
使用するツールにも依存する
classはinstantiateがダルいので、小さくしすぎるとだるくなる、みたいな
換言すれば「これ以上、小さくしてはいけない」をどう認識するのか
どう区切るのか?
大きなEntityを小さくしたい時に、小さくする仕方は複数ありうる
User(id, name, phone, address)を、(name)と(id, phone, address)に区切れるが、これは扱いづらそう、など
どれが良いのかをどう突き止めるのか
どう抽象化するのか
大きいことの何が問題なのか、は考えたほうが良さそう
概念が多すぎて、全貌を捉えきれない
どの要素とどの要素が近しい関係にある、などがあればもう少し楽になる
同じタイミングで使われる、同じタイミングで計算される
それでも、マジカルナンバーとか考慮するなら、持つpropertyの数は9個ぐらいが上限なのかも 以下のようなものは別のEntityとして定義する
使用するタイミングが異なる
作成、削除、更新するタイミングが異なる
要は、1つのEntityは1つの責務、という状態にする