Entityの設計
根幹のEntityの設計がダメだとapplication全体が複雑化してしまう
手順化とまでは言わずとも、設計時に着眼すべきポイントのようなものはあると思う
良い感じの資料・方針
Entityの関連付け
Entity間の依存はどうするか
あるEntityが持つpropertyの1つに他のEntityが含まれる場合
PBFをやっている時に、どういうimportになるのか
Entityに限らず
そのEntityが、productの中でどういう状態を持つか?などを考える
その後、
Accticentalの中の分離を行う
付随的だが役に立つものとそうでないものにわける
「役に立つもの」はパフォーマンス的にキャッシュしとくと嬉しい、ぐらいのことを指している
Entityには
派生データをもとに計算することで、状態を持たない
https://gyazo.com/7a163a05cec11e4489e115fc0b27d97e https://tech.uzabase.com/entry/2021/05/20/141950
依存関係
https://gyazo.com/2a3ef4fa5fe80010aedc7aade0e4faa4 https://tech.uzabase.com/entry/2021/05/20/141950
外部境界はControllerなどアプリケーションの表層に近いもの
「年齢」という概念が、業務の関心であるなら、「年齢」というEntityを作る
そこに、年齢に関するロジックを凝集させる
domain modelingという感じがする
Entity内のmethodとして制約を関数で定義していく時の話
1つ1つの制約を、小さい1つの関数に分ける
1つ1つの制約を表す関数名は長くなる
↑これらの長い関数はprivateにしておき、
短い名前の関数をpublicにする
Entityには、
完全製
純粋製
アプリケーション性能
の3つの指標がある