依赖注入和实体

时间:2014-11-19 16:11:44

标签: c# dependency-injection structuremap3

我有两个班级,并且有一对多的关系,如下所示

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,或者我应该在构造函数中启动地址列表,如图所示。

2 个答案:

答案 0 :(得分:0)

如果需要地址数据本身来构建用户的实例,它可能是DI的候选者。但是,如果只是确保列表被实例化,那么您的代码就是正确的。

答案 1 :(得分:0)

在这种情况下,依赖注入将是多余的。依赖注入通常用于初始化复杂的服务网络。在这里,您正在处理一个数据对象网络,这些数据对象映射到您要转换为代码的世界:因此,用户和地址之间的组合就足够了,并且必须在构造函数中初始化集合。