問題
次の 4 つのエンティティがあります。
class Product : Entity<Product> {
public virtual String Title { get; set; }
public virtual Category Category { get; set; }
public virtual Vendor Vendor { get; set; }
}
class Category : Entity<Category> { /* properties */ }
class Vendor : Entity<Vendor> { /* properties */ }
これら 4 つのいずれもコンポーネントIAggregateRoot
として定義されておらず、どれを集約ルートとして使用する (インターフェイスでマークする) べきかわかりません。
新製品の作成中に、ベンダーのリスト、カテゴリに簡単にアクセスしてページに表示する必要があります。
Repository
次に、これらのエンティティごとに 3 つのインスタンスがあるはずです。
脇
私はいくつかの大規模なプロジェクトを見てきました。彼らは、Vendor、State、TechnicalOptions などの独立したエンティティのリストを大量に使用しています。総根を持つものを設計することは論理的だと思いますが、DDD の原則がそこに適しているかどうかはわかりません。