控制反轉和依賴注入

2021-10-02 19:33:30 字數 400 閱讀 9030

1. 控制反轉

實際上,控制反轉是乙個比較籠統的設計思想,並不是一種具體的實現方法,一般用來指導框架層面的設計。這裡所說的「控制」指的是對程式執行流程的控制,而「反轉」指的是在沒有使用框架之前,程式設計師自己控制整個程式的執行。在使用框架之後,整個程式的執行流程通過框架來控制。流程的控制權從程式設計師「反轉」給了框架。

2. 依賴注入

依賴注入和控制反轉恰恰相反,它是一種具體的編碼技巧。我們不通過 new 的方式在類內部建立依賴類的物件,而是將依賴的類物件在外部建立好之後,通過建構函式、函式引數等方式傳遞(或注入)給類來使用。

3. 依賴注入框架

我們通過依賴注入框架提供的擴充套件點,簡單配置一下所有需要的類及其類與類之間依賴關係,就可以實現由框架來自動建立物件、管理物件的生命週期、依賴注入等原本需要程式設計師來做的事情。

控制反轉 依賴注入和控制反轉

依賴注入 di 和控制反轉 ioc 基本是乙個意思,因為說起來誰都離不開誰。簡單來說,a依賴b,但a不控制b的建立和銷毀,僅使用b,那麼b的控制權交給a之外處理,這叫控制反轉 ioc 而a要依賴b,必然要使用b的instance,那麼 通過a的介面,把b傳入 通過a的構造,把b傳入 通過設定a的屬性...

依賴注入和控制反轉

還是從上次機房合作驗收說起,其中乙個特別厲害的師姐提到了依賴注入和控制反轉,剛剛聽到這個的時候,感覺很熟悉,就是不知道在 看到過,想起了公尺老師說的那句話,不怕不知道,就怕不知道 不怕不知道它,就怕遇到了不知道它是什麼意思,我可是上公升到了不知道的第二個階段。廢話不說了,直奔主題吧。記得在哪見過,就...

依賴注入和控制反轉

本文 ioc inversion of control 控制反轉 di dependency injection 依賴注入 要想理解上面兩個概念,就必須搞清楚如下問題 1 參與者有誰 一般有三方參與者,乙個是某個物件 乙個是ioc di容器 另乙個是物件的外部資源。2 誰依賴於誰 當然是某個物件依賴...