DI 依賴注入 (Dependency Injection)

是 DI 的一種實現方式,它將對象的創建和生命週期管理交給 IoC 容器來處理。

1
定義 : A物件程式內部需要使用B物件 , 則 B 物件中有依賴的成份。

IOC 控制反轉 (Inversion of Control)

是一種軟體設計模式,指的是將對象創建和生命週期管理的責任轉移到 IoC 容器中,容器負責解析依賴關係,並將需要的對象注入到其它對象中。這樣做的好處是降低代碼的耦合性,增加代碼的靈活性和可測試性。

1
定義 : A 物件與 B 物件控制權由第三方容器控制。

結論

IoC 是一種設計模式,而 DI 則是 IoC 的一種具體實現方式。使用 DI 的好處是可以使代碼更加靈活和可測試,因為對象的依賴關係被轉移到了容器中,可以方便地模擬和測試各個對象。同時,使用 DI 還可以提高代碼的可讀性和可維護性,因為代碼中不再包含創建和管理依賴關係的代碼。