1

したがって、基本的に各エンティティのリポジトリがありますが、モデルにはエンティティがモデル内で直接関連していないリレーショナル部門があります。したがって、私がする必要があるのは、その間接的な関係からクエリを実行し、エンティティのコレクションを返すことです。実際にクエリを実行しているリポジトリとは異なるリポジトリでクエリを初期化して呼び出すことは適切ですか? そうでない場合、これに対する最善の解決策は何ですか - ヘルパークラスですか?

ありがとう

4

2 に答える 2

6

同意します - Aggregate ルートを特定してみてください。集合根に慣れていない場合:ここをお読みください

私の意見では、元の質問はまだ有効ですが、他のリポジトリへの依存関係がまだある可能性があります。ドメイン モデルによっては、これらの依存関係があっても問題ない場合があります。このような依存関係がある場合は、インターフェイスと疎結合するのが良い設計です。次に、ある種の依存性注入を使用して、テストなどを容易にすることができます。別のオプションは、ファクトリに適切なリポジトリを提供させることです。

于 2009-03-10T18:48:36.870 に答える
2

すべてのエンティティのリポジトリは、おそらく良い考えではありません。集約ルート オブジェクト用のリポジトリが存在する必要があります。それらの集約ルート オブジェクトとプロバイダ リポジトリを定義します。これにより、リポジトリが他のリポジトリに依存する場合の混乱が解消される可能性があります。

于 2009-03-10T18:41:24.360 に答える