什么情况下使用Constructor Injection
当实例化父对象时也能自动实例化所依赖的对象
通过简单的方式使得很容易做到在代码中查看每个类所依赖的项
父对象的构造器不需要很多相互间有关联关系的构造器
父对象的构造器不需要很多参数
通过不使用属性和方法暴露给调用程序,达到封装字段值以不能被看到的目的
通过修改依赖对象的代码来控制哪些对象可以被注入,而不用改动父对象或应用程序
准备工作
public class Song
{
public string Singer
{
get
{
return "Westlife";
}
}
public string Name
{
get
{
return "My Love";
}
}
}
public class Owner
{
public string Name
{
get
{
return "Inrie";
}
}
public int Age
{
get
{
return 24;
}
}
}
public interface IPlayer
{
void Play();
}
时间: 2024-09-17 03:45:23