質問

私はDDDで始めるんだ、と私はいくつかのトラブル私のデータのリレーショナルな性質に適応する方法を考え出すを抱えています。私は私が私の集約ルートとみなされるであろうと考えているものを持っているが、集計にも独自の集計を持っています。デメテルの法則に違反したくない、私はこの間違ったことを考えていると、いくつかのDDDの専門家は、いくつかの洞察を提供できることを期待しています場合、私は思ったんだけど。

私の集約ルートは、自身の個々のAccountエンティティの論理グループです多数AccountElementエンティティの集計を持っている私のProductComponentオブジェクトです。

AccountElementの文脈の外Accountは意味を持ちませんので、私はAccountオブジェクトが私の集約ルートであるというのが私の結論と快適だし、私は、企業が集約Elements性を有することを期待しています。それは私が混乱しているProductComponentコレクションです。この集合体はAccountElementの外では意味を持たない、との本当にAccountの外では意味がありません。

私はのように、それに私の方法に点在することによって、個々のProductComponentオブジェクトにアクセスする必要があるとは思いません

var reference = account.Elements(0).ProductComponents(0).ReferenceCode;

しかし、同時にそれはProductComponentエンティティから直接Accountにアクセスするには(ドメインの観点から)意味がありません。

私は、これは自分のドメインの知識がなくても理解するために、すべての少し難しいことを確信しているが、私はそれはいくつかの良いフィードバックを得るために十分です願っています。

役に立ちましたか?

解決

ロバートはにリンク先の記事は良いものです。私はProductComponentだけアカウントのコンテキストに存在しAccountElementとAccountElementのコンテキストでのみ存在する場合は、拡張子によってProductComponentアカウントのコンテキストであることを追加することになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top