IOC和DI的关系
IOC(控制反轉(zhuǎn))
全稱為:Inverse of Control .將對(duì)在自身對(duì)象中的一個(gè)內(nèi)置對(duì)象的控制反轉(zhuǎn),反轉(zhuǎn)后不再由自己本身的對(duì)象進(jìn)行控制這個(gè)內(nèi)置對(duì)象的創(chuàng)建,而是由第三方系統(tǒng)去控制這個(gè)內(nèi)置對(duì)象的創(chuàng)建。簡(jiǎn)單來(lái)說(shuō)就是把本來(lái)在類內(nèi)部控制的對(duì)象,反轉(zhuǎn)到類外部進(jìn)行創(chuàng)建后注入,不在由類本身鏡像控制,這就是IOC的本質(zhì)
DI(依賴注入)
全稱為Dependency Injection,意思是自身對(duì)象中的內(nèi)置對(duì)象是通過(guò)注入的方式進(jìn)行創(chuàng)建
IOC和DI的關(guān)系
ioc就是容器,di就是注入這一行為,那么di確實(shí)就是ioc的具體功能的實(shí)現(xiàn)。而ioc則是di發(fā)揮的平臺(tái)和空間。所以說(shuō)。ioc和di即是相輔相成的拍檔。他們都是為了實(shí)現(xiàn)解耦而服務(wù)的
DI是如何實(shí)現(xiàn)的
依賴注入可以通過(guò)setter方法注入(設(shè)值注入)、構(gòu)造器注入和接口注入三種方式來(lái)實(shí)現(xiàn),Spring支持setter注入和構(gòu)造器注入,通常使用構(gòu)造器注入來(lái)注入必須的依賴關(guān)系,對(duì)于可選的依賴關(guān)系,則setter注入式更好的選擇,setter注入需要類提供無(wú)參構(gòu)造器或者無(wú)參的靜態(tài)工廠方法來(lái)創(chuàng)建對(duì)象
總結(jié)
- 上一篇: OllyDbg的基本使用
- 下一篇: 【Guacamole中文文档】二、用户指