私は現在DDDを掘り下げており、少し啓発が必要です。
私は2つのエンティティを持っています
TempleTempleVariant
Temple(イヤホン) には基本情報(名前、説明など) が含まれ、技術的な説明(CAD 図面、サイズなど) を持つ n 個のバリアントがあります。
私の第一印象は次のとおりでした:
TempleそしてTempleVariant集合体を形成します - それらは一緒に属します: それらは非常に密接に結合しているようです
Templea allを削除すると、同様TempleVariantに削除する必要がありますTempleVariantsなしでは存在できませんTemple(少なくとも意味がありません)
しかし、集約ルートの外側では、別の集約内のエンティティを参照することは許可されていないことを読みました。しかし、実際には外部エンティティによって参照されるのではなくTempleTempleVariants、 .
これは、(DDD) 現実ではTempleとTempleVariantが異なる集合体であり、集合体のように見えることを意味しますか?
しかし、その後、削除するとどうなりTempleますか? 私が言ったように、TempleVariants も削除する必要があります。しかし、それは「1つの集計変更-1つのトランザクション」(またはそれが呼ばれるもの:))というルールに違反します。なぜなら、私の「感覚」は、1つのトランザクションでそれらを削除する必要があるからです...
だから私の質問は:
- それらの2つの集合体ですか?
- もしそうなら:削除を処理する方法は?
ラグワラッパー
_