真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

控制反轉(zhuǎn)和依賴注入有哪些區(qū)別-創(chuàng)新互聯(lián)

小編給大家分享一下控制反轉(zhuǎn)和依賴注入有哪些區(qū)別,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

專注于為中小企業(yè)提供網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)恒山免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

 控制反轉(zhuǎn)與依賴注入的區(qū)別有:依賴注入從應(yīng)用程序的角度來描述,而控制反轉(zhuǎn)是從容器的角度描述;控制反轉(zhuǎn)側(cè)重于原理,而依賴注入側(cè)重于實現(xiàn)等

控制反轉(zhuǎn)和依賴注入有哪些區(qū)別

控制反轉(zhuǎn)和依賴注入的區(qū)別

IOC   inversion of control  控制反轉(zhuǎn)

DI   Dependency Injection  依賴注入

要理解這兩個概念,首先要搞清楚以下幾個問題:

參與者都有誰?

依賴:誰依賴于誰?為什么需要依賴?

注入:誰注入于誰?到底注入什么?

控制反轉(zhuǎn):誰控制誰?控制什么?為何叫反轉(zhuǎn)(有反轉(zhuǎn)就應(yīng)該有正轉(zhuǎn)了)?

依賴注入和控制反轉(zhuǎn)是同一概念嗎?

下面就來簡要的回答一下上述問題,把這些問題搞明白了,IOC/DI也就明白了。

(1)參與者都有誰:

一般有三方參與者,一個是某個對象;一個是IOC/DI的容器;另一個是某個對象的外部資源。

某個對象指的就是任意的、普通的Java對象

IOC/DI的容器簡單點說就是指用來實現(xiàn)IOC/DI功能的一個框架程序

對象的外部資源指的就是對象需要的,但是是從對象外部獲取的,都統(tǒng)稱資源,比如:對象需要的其它對象、或者是對象需要的文件資源等等。

(2)誰依賴于誰:

當(dāng)然是某個對象依賴于IOC/DI的容器

(3)為什么需要依賴:

對象需要IOC/DI的容器來提供對象需要的外部資源

(4)誰注入于誰:

很明顯是IOC/DI的容器注入某個對象

(5)到底注入什么:

就是注入某個對象所需要的外部資源

(6)誰控制誰:

當(dāng)然是IOC/DI的容器來控制對象了

(7)控制什么:

主要是控制對象實例的創(chuàng)建

(8)為何叫反轉(zhuǎn):

反轉(zhuǎn)是相對于正向而言的,那么什么算是正向的呢?考慮一下常規(guī)情況下的應(yīng)用程序,如果要在A里面使用C,你會怎么做呢?當(dāng)然是直接去創(chuàng)建C的對象,也就是說,是在A類中主動去獲取所需要的外部資源C,這種情況被稱為正向的。那么什么是反向呢?就是A類不再主動去獲取C,而是被動等待,等待IOC/DI的容器獲取一個C的實例,然后反向的注入到A類中。

用圖例來說明一下,先看沒有IOC/DI的時候,常規(guī)的A類使用C類的示意圖,如圖所示:

控制反轉(zhuǎn)和依賴注入有哪些區(qū)別

當(dāng)有了IOC/DI的容器后,A類不再主動去創(chuàng)建C了,如圖所示:

控制反轉(zhuǎn)和依賴注入有哪些區(qū)別

而是被動等待,等待IOC/DI的容器獲取一個C的實例,然后反向的注入到A類中,如圖所示:

控制反轉(zhuǎn)和依賴注入有哪些區(qū)別

(9)依賴注入和控制反轉(zhuǎn)是同一概念嗎?

根據(jù)上面的講述,應(yīng)該能看出來,依賴注入和控制反轉(zhuǎn)是對同一件事情的不同描述,從某個方面講,就是它們描述的角度不同。依賴注入是從應(yīng)用程序的角度在描述,描述完整點:應(yīng)用程序依賴容器創(chuàng)建并注入它所需要的外部資源;而控制反轉(zhuǎn)是從容器的角度在描述,描述完整點:容器控制應(yīng)用程序,由容器反向的向應(yīng)用程序注入應(yīng)用程序所需要的外部資源。

總結(jié):

其實IOC/DI對編程帶來的大改變不是從代碼上,而是從思想上,發(fā)生了“主從換位”的變化。應(yīng)用程序原本是老大,要獲取什么資源都是主動出擊,但是在IOC/DI思想中,應(yīng)用程序就變成被動的了,被動的等待IOC/DI容器來創(chuàng)建并注入它所需要的資源了。這么小小的一個改變其實是編程思想的一個大進(jìn)步,這樣就有效的分離了對象和它所需要的外部資源,使得它們松散耦合,有利于功能復(fù)用,更重要的是使得程序的整個體系結(jié)構(gòu)變得非常靈活

看完了這篇文章,相信你對控制反轉(zhuǎn)和依賴注入有哪些區(qū)別有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁名稱:控制反轉(zhuǎn)和依賴注入有哪些區(qū)別-創(chuàng)新互聯(lián)
分享鏈接:http://weahome.cn/article/shgos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部