私はかなり単純なドメインを持っています。約 7 ~ 8 個の主要なエンティティが識別されており、これらは独自の集約ルートである可能性があります。しかし、システム内のすべてのオブジェクトの結合をリストする UI 画面が表示される予定です。これは、すべての集計の結合を意味します。
私が念頭に置いている 1 つの方法は、合成を使用することです。つまり、他のすべての集約ルートが参照するメタデータ集約です。これは独立したエンティティになります。この画面では、この集計をクエリできます。この新しい集計に移動するフィールドは、「すべてのオブジェクト」グリッドに表示する必要がある共通のフィールドです。
もう 1 つのアプローチは、他のリポジトリにクエリを実行し、アプリケーション層でリストをマージし、ページングなどを処理することによって、「すべてのオブジェクト」画面に必要なリストを作成するアプリケーション サービス メソッドを使用することです。
UI のユースケースがドメインの設計に影響を与えていることがわかるので、最初のソリューションには不安がありますが、データベースはページングの処理、リストのマージなどの面倒な作業を行い、単一の単純なクエリによって収集されたこれらすべての情報を結合することはありません。 .
2 番目の解決策は、見た目はすっきりしていますが、使いやすさとパフォーマンスが低下します。
お知らせ下さい。