2009-03-10 9 views
1

私は基本的に各エンティティのリポジトリを持っていますが、私のモデルにはエンティティがモデル内で直接関係しない関係分割があります。だから、私は間接的な関係を問い合せて、エンティティの集合を返すしかありません。実際に照会しているリポジトリーとは異なるリポジトリーで照会を初期化して呼び出すことは適切ですか?そうでない場合、これに対する最良の解決策は何ですか?ヘルパークラスですか?すべてのエンティティのためのリポジトリはおそらく良いアイデアではありませんリポジトリパターンに関する質問 - 別のリポジトリ内でリポジトリを使用することは許容されますか?

おかげ

答えて

6

私は同意します - 集計根を特定しようとします。あなたがaggreagateの根に慣れていない場合:read here

あなたの元の質問はまだ私の意見では有効ですが、あなたはまだ他のリポジトリに依存しているかもしれません。あなたのドメインモデルに依存して、theeseの依存関係を持つことは大丈夫かもしれません。このような依存関係がある場合、それらをインターフェイスと疎結合させることは良い設計です。あなたは、より簡単なテストなどを可能にするために何らかの依存性注入を使用することができます。もう一つの選択肢は、工場にあなたに適切なリポジトリを与えることです。

2

。集約ルートオブジェクトにはリポジトリが存在する必要があります。集約ルートオブジェクトとそれらのプロバイダリポジトリを定義します。それは、リポジトリが他のリポジトリに依存している場合、混乱の一部を解消する可能性があります。

関連する問題