【IT168技术文档】
什么情况下使用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(); }