我有一个依赖于另一个班级的班级。而是实例化依赖于类,我要求它在唯一的构造函数中传入。这有效地注入了所述依赖吗?
太困惑了!
答案 0 :(得分:1)
从某种意义上说是的。 Maybe this will help you.
引用其他Stack Overflow Response:
我到目前为止找到的最佳定义是James Shore的定义:
"Dependency Injection" is a 25-dollar term for a 5-cent concept. [...] Dependency injection means giving an object its instance
变量。 [...]。
Martin Fowler的一篇文章可能也证明是有用的。
答案 1 :(得分:1)
你正在走的路。一个好的开始。马丁福勒有一个很好的article。
但关键是寻找我们这样做的基本原因。基本上我们必须将对象的配置与使用它分开。然后它将根据业务规则为您提供更改的灵活性。
例如,如果您有一个Employee类,而Employee Class有一个CalculateBonus方法,并且该方法使用BonusCalculator类来计算奖金。如果公司类使用Employee.CalculateBonus进行奖金计算,那么公司类负责启动BonusCalculator类并通过方法,属性或通过构造函数传递给Employee类。
付款日,休假等来自Employ Class,而BonusCalculator在Employ Class外部,因此我们将BonusCalculator职责的初始化委托给调用类。
明天这种方式BonusCalculator的类型改变它不会影响Employee Class。
希望这有助于您更清楚地理解这个概念。