所以控制反转是一个模糊的描述,所以依赖注入成为了新的定义。这是一个非常非常强大的解决方案,很可能对从未遇到过它的人感到困惑。
因此,为了不成为头灯中的鹿,我阅读了。我发现了几本很棒的书和在线帖子。但就像所有美妙的事情一样,更多的问题出现了,而不是答案。
问题是从未知项目中吸收变量,一旦它们被引入我的项目中就可以实施。
解决方案:
public interface ISiteParameter
{
Guid CustomerId { get; set; }
string FirstName { get; set; }
string LastName { get; set; }
string Phone { get; set; }
}
我的注射器:
public interface IInjectSiteParameter
{
void InjectSite(ISiteParameter dependant);
}
然后我创建了这个:
public class SiteContent : IInjectSiteParameter
{
private ISiteParameter _dependent;
#region Interface Member:
public void InjectSite(ISiteParameter dependant)
{
_dependant = dependant;
}
#endregion
}
然后使用共享引用来实现它作为 Fed 变量,我创建了一个要实现的类,例如:
public class SiteParameters : ISiteParameter
{
public Guid Customer Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Phone { get; set; }
}
现在SiteParameters Class
将被另一个项目引用;这将允许我随时随地通过以下方式实际调用这些属性:
ISiteParameter i = new ISiteParameter();
MessageBox.Show(i.Guid + i.FirstName + i.LastName + i.Phone);
那是实现,但我的问题是……我什么时候使用?
- 构造函数注入
- 二传手注入
- 接口注入
您什么时候使用其中一种?对于我提到的任务,我是否应该实施如此艰巨的任务来调整对其他项目所做的任何更改?
我是否在思考过程中偏离了曲线?