談談我對Spring IOC與DI的理解

2021-07-12 06:16:22 字數 634 閱讀 2399

ioc是一種叫做「控制反轉」的設計思想。

1、較淺的層次——從名字上解析

「控制」就是指對 物件的建立、維護、銷毀等生命週期的控制,這個過程一般是由我們的程式去主動控制的,如使用new關鍵字去建立乙個物件(建立),在使用過程中保持引用(維護),在失去全部引用後由gc去**物件(銷毀)。

「反轉」就是指對 物件的建立、維護、銷毀等生命週期的控制由程式控制改為由ioc容器控制,需要某個物件時就直接通過名字去ioc容器中獲取。

2、更深的層次——提到di,依賴注入,是ioc的一種重要實現

乙個物件的建立往往會涉及到其他物件的建立,比如乙個物件a的成員變數持有著另乙個物件b的引用,這就是依賴,a依賴於b。ioc機制既然負責了物件的建立,那麼這個依賴關係也就必須由ioc容器負責起來。負責的方式就是di——依賴注入,通過將依賴關係寫入配置檔案,然後在建立有依賴關係的物件時,由ioc容器注入依賴的物件,如在建立a時,檢查到有依賴關係,ioc容器就把a依賴的物件b建立後注入到a中(組裝,通過反射機制實現),然後把a返回給物件請求者,完成工作。

3、ioc的意義何在?

ioc並沒有實現更多的功能,但它的存在使我們不需要很多**、不需要考慮物件間複雜的耦合關係就能從ioc容器中獲取合適的物件,而且提供了對 物件的可靠的管理,極大地降低了開發的複雜性。

談談對Spring IOC的理解

spring ioc 控制反轉,也叫依賴注入 di 控制反轉是一種思想,是將原來程式主導變為第三方主導,也就是容器主導,程式需要什麼,容器提供給程式,原來 是 程式需要a類,我們需要建立也就是new a 給程式,通過使用spring ioc 我們可以不用這麼寫,在配置檔案中進行配置便可以了,配置完成...

談談我對CMMI的認識

cmmi是一種非常好的軟體工程方法,已經總結和建立了很多優秀的流程方法,而且諮詢公司會提供模板資料,把這些別人的東西般過來學習和實施,就可以在自己的企業運作得非常好 在我看來,這些理解完全是錯誤的。這種錯誤理解或觀念,使得很多企業實施cmmi後卻完全看看不到效果,甚至事倍功半,開發效率和質量還比不上...

談談我對ASIHttpRequest庫使用

在ios開發過程中,asihttprequest庫是最常用的網路庫,功能強大,使用也非常方便。但是,在使用此庫過程中,發現有幾點小問題。乙個問題是,我發現當非同步請求比較多,併發連線數量比較多的時候,會導致一些請求失敗。原因 預設是最大4個併發連線,其他的連線需要等待。然後如果有連線請求完畢了,就會...