我有两个班级,并且有一对多的关系,如下所示
public class User
{
public string Name{get;set;}
public IList<Address> Addresses{get;set}
}
public class Address
{
public string StreetAddress{get;set;}
public User User{get;set;}
}
要向用户添加地址,我需要在用户构造函数中启动Addresses属性
public User()
{
this.Addresses=new List<Address>();
}
这种情况是否适合使用DI来启动List,或者我应该在构造函数中启动地址列表,如图所示。
答案 0 :(得分:0)
如果需要地址数据本身来构建用户的实例,它可能是DI的候选者。但是,如果只是确保列表被实例化,那么您的代码就是正确的。
答案 1 :(得分:0)
在这种情况下,依赖注入将是多余的。依赖注入通常用于初始化复杂的服务网络。在这里,您正在处理一个数据对象网络,这些数据对象映射到您要转换为代码的世界:因此,用户和地址之间的组合就足够了,并且必须在构造函数中初始化集合。