问题
有四个实体:
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 */ }
这四个都没有定义为组件,我不知道应该使用哪个(用IAggregateRoot
接口标记)作为聚合根。
我需要在创建新产品时轻松访问供应商列表、类别以在页面上显示它们。
Repository
然后,根据这些实体,似乎应该有三个实例。
在旁边
我见过几个大型项目。他们大量使用独立实体的列表,如供应商、状态、技术选项。我认为设计具有聚合根的东西是合乎逻辑的,但我不知道 DDD 原则是否适合那里。