gpt4 book ai didi

domain-driven-design - 在域模型中实例化集合是否被认为是一个好的实践?

转载 作者:行者123 更新时间:2023-12-02 18:13:02 24 4
gpt4 key购买 nike

我在网上看到这些类型的模型有很多示例。

public class User
{
public long Id { get; set; }
public string Name{ get; set; }
public virtual ICollection<Product> Products { get; set; }
}

像下面的代码一样在构造函数中实例化集合是否被认为是一个好习惯?若有,原因为何?模型中的对象怎么样?

public class User
{
public User()
{
Products = new List<Product>();
}
public long Id { get; set; }
public string Name{ get; set; }
public virtual ICollection<Product> Products { get; set; }
}

最佳答案

嗯,我想说这取决于具体情况,但是在这种情况下,产品将通过存储库从数据库中填充,因此很可能是某种 ORM,因此构造函数中不需要初始化新的 List 。 Products 的 null 含义表示列表尚未加载。另一方面,假设您的对象必须初始化此集合。对于简单对象,DDD 表示构造函数非常适合这些事情,但对于复杂对象,请将构造移至工厂。

关于domain-driven-design - 在域模型中实例化集合是否被认为是一个好的实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6585677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com