集約と集約ルートとエンティティと永続化の違いとかわかりやすく
DDD関連の英語のドキュメントを読んでいてaggregate(集約)という言葉が出てきて、そもそも集約の意味わからなかったので自分なりに色々出てくる言葉を意訳してみました。
エンティティ
エンティティはテーブルのこと。1対1。
永続化
どこかに保存すること。データベースとかファイルとか。
集約
英語のドキュメントではaggregateと出てくる。日本語訳で集約。
一つにまとめること。 多くのものを集めて、整理してまとめあげること。
テーブルのまとまりみたいなイメージ。
注文ヘッダテーブルと注文明細テーブル、関係は1:n。
注文ヘッダがあれば、必ず注文明細もある。片方だけレコードがある、なんていうことがない。
集約ルート
注文ヘッダテーブルと注文明細テーブルのうち、注文ヘッダテーブルが集約ルートを指している。
集約ルートは、集約の中で1つだけ。
集約ルートから操作することで集約全体の整合性を保ち…みたいな文章は、おそらく集約ルートが公開する登録・更新・削除・取得から集約(ここでいう注文明細テーブル)も登録・更新・削除・取得してください、という意味。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^