首頁  >  文章  >  php框架  >  IoC (控制反轉)是什麼?兩張圖讓你搞清楚!

IoC (控制反轉)是什麼?兩張圖讓你搞清楚!

藏色散人
藏色散人轉載
2021-11-17 14:22:591741瀏覽

簡單瞭解依賴注入(DI,Dependency injection)

依賴注入透過建構注入,函數呼叫或屬性的設定來提供元件的依賴關係。就是這麼簡單。

簡單理解控制反轉(IOC,(Inversion of Control)

IoC (控制反轉)是什麼?兩張圖讓你搞清楚!

一開始我們程式碼依賴關係可能是如圖這樣的,這裡只舉例了3個物件和三個類別的交叉依賴,我們程式碼的依賴關係實際情況其實要複雜得多,腦補十多個物件的交叉,甚至還有橫向交叉。

現在問題來了,由於不可抗拒的原因,PHP版本升級,需求更改等等,要把α物件替換掉,把β物件刪掉,請問我們要改多少處程式碼??

是時候拿出IOC了。

IoC (控制反轉)是什麼?兩張圖讓你搞清楚!

瞬間清爽。

IOC容器在全域維持一個物件實例集合和類別名稱集合,我們在寫某個類別的時候把這個類依賴的物件註冊到容器裡,呼叫這個類別的時候再實例化拿出來。

這個就是IOC的思想,一個系統透過組織控制和物件的完全分離來實現」控制反轉」。對於依賴注入,這意味著透過在系統的其他地方控制和實例化依賴對象,從而實現了解耦。

相關推薦:最新的五個Laravel視頻教程

以上是IoC (控制反轉)是什麼?兩張圖讓你搞清楚!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除