我明白依賴注入是什麼,但我還沒有看到它的全貌如何對消費者有利。見下面的例子。依賴注入框架 - 依賴關係傳播
//bad
class car() {
var tire = new Tire('snow');
}
//good
class car() {
var tire;
constructor(tire){
this.tire=tire
}
}
所以大多數文章我已閱讀狀態,上面的例子是好的,因爲它消除了汽車輪胎的依賴,從而變得更加可測試。但是另一個實例化汽車物體的類呢?如果一個driver
類召喚car
類,那麼不會強制驅動程序實例化car
對象,也不會強制執行tires
。看起來好像依賴總是被傳播得更遠。這到底在哪裏?實際實例化對象的是什麼?這是DI框架的全部內容嗎?
簡而言之:是的,它一直在「傳播」,是的,這就是DI框架可以簡化的地方。 – deceze