2011-12-18 6 views
1

私はDDDの最初の週に入っており、集約されたルートを持つ2つのエンティティが定義されています。集約ルートの背後にあるエンティティにアクセスするにはどうすればよいですか?

私は、集約外の外部エンティティは集約内のエンティティを参照できないため、外部エンティティは集約ルートを参照する必要があることを読んでいます。

私のソリューションを誤ってモデル化していない限り、私は集約ルートの背後にあるエンティティへの参照が必要です。このような状況を回避するには、この状況をどのように処理するか、ドメインを改造する必要がありますか?

JD

+1

これに答えるのに役立つコードがいくつかあります。 –

答えて

3

おそらくモデルを絞り込むことができます。集約内のエンティティへの外部参照が必要な場合、それは内部エンティティが集約ルート自体である可能性があることを示す強力な指標です。

私はあなたの特定のモデルについて何も知らないので、これはもちろん一般的なアドバイスです。

集約デザインに関するアドバイスは、paper by Vaughn Vernonをご覧ください。第I部「集約のモデリング」では、具体的に集計された細分性に焦点を当てています。

+0

ご返信ありがとうございます。私が見つけたのは、私が自分のエンティティを集約ルートと考えるようになったのです。そして、集計ルートを参照している集計ルーツがたくさんあることがわかりました。これは正しいと思いますか? –

+0

私は最初の段落に全く同意しません。私は、 "集約id +ローカル(集約)エンティティID"が外部に伝達され、別の集約内で追跡できることを発見しました。これは一般的な推奨ではありませんが、役に立つことがあります。 –

+0

@ Yves、あなたのお勧めに感謝します。深いグラフがあり、ローカルエンティティがいくつかのオブジェクトが深い場合はどうなりますか?だから私は何を追跡するだろう(すべてのエントリオブジェクトID)? –

関連する問題