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

藏色散人
發布: 2021-11-17 14:22:59
轉載
1668 人瀏覽過

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

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

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

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

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

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

是時候拿出IOC了。

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

瞬間清爽。

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

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

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

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

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!