基本思想是,当一个对象需要其他对象来完成它的工作(例如,数据库连接)时,而不是在内部创建该对象,而是将该对象"注入"到该对象中,通常作为构造函数参数,或者由在使用该对象之前设置的公共属性进行。
这样做的好处是可以从外部更改所用对象的值(如果对象声明为接口,则这一点尤其正确)。这种方法的一个常见用途是用单元测试的模拟对象替换具体对象。
基本思想是,当一个对象需要其他对象来完成它的工作(例如,数据库连接)时,而不是在内部创建该对象,而是将该对象"注入"到该对象中,通常作为构造函数参数,或者由在使用该对象之前设置的公共属性进行。
这样做的好处是可以从外部更改所用对象的值(如果对象声明为接口,则这一点尤其正确)。这种方法的一个常见用途是用单元测试的模拟对象替换具体对象。