アグリゲート
#DDD
集約
リポジトリに入出力する単位
状態を変更した時にデータの完全性が保たれるようにエンティティとバリューオブジェクトをまとめる
完全性→ルートエンティティが責任を持つ
カプセル化→アグリゲート内のオブジェクトに対する操作は全てルートエンティティを通して行う
参照が一気に消える→ルートエンティティにまとまっている事でルートの参照が消えると他も全部GCされて消える
アグリゲートは複雑になる→ファクトリで生成する