天天看點

IOC與DI的差別

IOC與DI的差別

文章内容輸出來源:

拉勾教育Java高薪訓練營

IoC:

Inversion of Controller

(控制反轉)

DI:

Dependancy Injection

(依賴注入)

IOC和DI描述的是同一件事情(對象執行個體化及依賴關系維護這件事情),隻不過角度不同。

IOC是站在對象的角度,對象執行個體化及其管理的權利交給了(反轉)給了容器。

DI是站在容器的角度,容器會把對象依賴的其他對象注入進去(送進去了),比如A對象執行個體化過程中因為聲明了一個B對象的類型,那麼就需要容器把B對象注入給A。

在我的了解IOC與DI的差別在于:IoC是用到哪個對象,就問IoC容器要哪個對象,而依賴注入是在執行個體化過程中需要哪個對象,容器就把哪個對象給他,一個是用時才要,一個是我有需要就提前要了。