3

ドメイン駆動設計をプロジェクトに適用する場合、集約ルートをどのように識別しますか?

たとえば、標準的な E コマース Web サイトでは、注文が 1 つで、ユーザーがもう 1 つであると言えます。しかし、ユーザーが会社に属している場合はどうでしょうか? それはあなたの会社を集約ルートにしますか?

Aggregate ルートを計算する人々のアプローチと、不適切に選択された Aggregate ルートを特定する方法に興味があります。

4

1 に答える 1

5

集約ルートを識別する良い方法の 1 つは、「削除」テストを使用することです。ドメインでルートを削除すると、何が削除されますか? このようにして、Aggregates の特徴であるドメイン オブジェクトの所有権を識別できます。

また、集約は一貫性の境界を作成するため、ルートは、集約された要素をオブジェクトグラフの残りから「非表示」にし、保持する必要がある一貫性と不変条件もチェックする必要があります。Aggregate 内のオブジェクトは、ルートへの参照のみを保持します (相互には参照しません)。したがって、ドメイン モデルでこのようなものが見つかった場合は、集約ルートがあることを示唆している可能性があります。

于 2010-05-18T08:42:50.110 に答える