5

データモデルでリポジトリパターンを実装することについて質問があります。オンラインで検索してたくさんの投稿を調べましたが、疑問を解消する答えは見つかりませんでした。基本的に、ドメインモデルは次のようになります。多くの子オブジェクトを持つクライアントオブジェクトがあり、一部の子オブジェクトには子オブジェクトがあり、いつでも親オブジェクトのないこれらの子オブジェクトは不要であり、作成されません。アプリケーションの任意の意味。

client
 --> client zip codes
 --> client phone history
 --> client medical history
 --> client direct services
      --> client direct service assessments
      --> client direct service risk reductions
 --> client housing
      --> client housing landlord

そしてそれはこのようになります。上記の表現から、いくつかのアグリゲートがあり、ルートはクライアントオブジェクトであるため、クライアントであるアグリゲートルートレベルでリポジトリを作成することを考えていました。私の質問は、他の集計をどのように処理するかです。誰かが私にこれに関するいくつかのアイデアを提供できますか?

ありがとう、アジェイ。

4

1 に答える 1

6

一般に、プログラムの残りの部分で使用するために集約ルートを準備するのはリポジトリの責任です。したがって、リポジトリにクライアントを照会すると、郵便番号、電話履歴、病歴などを含む完全なクライアントオブジェクトが返されます。集約ルートの考え方は、外部コードがクライアントを取得することを心配する必要がないということです。利用可能な他の集合体。

別の見方をすれば、クライアントリポジトリを作成していて、クライアントが集約ルートであるため、それ自体が集約であっても、すべてのサブオブジェクトを構成するのはクライアントリポジトリの仕事です。

于 2011-04-20T21:41:12.777 に答える