Dependency injection 依赖注入-是这样吗?

Dependency injection 依赖注入-是这样吗?,dependency-injection,Dependency Injection,我有一门课,它依赖于另一门课。而不是实例化依赖类,我要求它在唯一的构造函数中传递。这是否有效地注入了上述依赖关系 真糊涂 从某种意义上说是的 引用另一个堆栈溢出响应: 到目前为止,我找到的最好的定义是詹姆斯·肖尔的定义: "Dependency Injection" is a 25-dollar term for a 5-cent concept. [...] Dependency injection means giving an object its instance 变量。[……] 马丁

我有一门课,它依赖于另一门课。而不是实例化依赖类,我要求它在唯一的构造函数中传递。这是否有效地注入了上述依赖关系

真糊涂

从某种意义上说是的

引用另一个堆栈溢出响应:

到目前为止,我找到的最好的定义是詹姆斯·肖尔的定义:

"Dependency Injection" is a 25-dollar term for a 5-cent concept. [...] Dependency injection means giving an object its instance
变量。[……]

马丁·福勒的一篇文章可能也很有用


你走的路是对的。良好的开端。上面有一张马丁·福勒的好照片

但关键是寻找我们这样做的基本原因。基本上,我们必须将对象的配置与它的使用分开。然后,它将为您提供根据业务规则进行更改的灵活性

例如,如果您有一个Employee类,Employee类有一个CalculateBuns方法,该方法使用BonoCalculator类来计算奖金。如果公司类使用Employee.CalculateBunus进行奖金计算,则公司类有责任启动BonoCalculator类,并通过方法、属性或构造函数传递给Employee类

工资日、假期等来自雇佣类,而BonoCalculator不属于雇佣类,因此我们将BonoCalculator的责任委托给呼叫类

这样,BonoCalculator的类型将发生更改,而不会影响Employee类


希望这能帮助你更清楚地理解这个概念。

你看过标签了吗?唉,我想我还得再读150遍这篇文章。谢谢