リポジトリ パターンを適切に使用する方法を理解しようとしています。集約ルートという中心的な概念が何度も出てきます。集約ルートとは何かについて Web と Stack Overflow の両方で検索すると、集約ルートに関する議論が何度も見つかり、基本定義が含まれているはずのページへのリンクが無効になっています。
リポジトリ パターンのコンテキストでは、集約ルートとは何ですか?
ベストアンサー1
リポジトリ パターンのコンテキストでは、集約ルートはクライアント コードがリポジトリから読み込む唯一のオブジェクトです。
リポジトリは子オブジェクトへのアクセスをカプセル化します。呼び出し元の観点からは、ルートがロードされるのと同時に、または実際に必要になったときに (遅延ロードの場合と同様に) 子オブジェクトが自動的にロードされます。
たとえば、Order
複数のオブジェクトに対する操作をカプセル化するオブジェクトがあるとしますLineItem
。クライアント コードはLineItem
オブジェクトを直接ロードすることはなく、Order
それらを含む だけをロードします。これがドメインのその部分の集約ルートになります。