教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

IOC是什么?如何理解IOC?

更新時(shí)間:2020年12月15日17時(shí)51分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

IOC—Inversion of Control,即“控制反轉(zhuǎn)”,不是什么技術(shù),而是一種設(shè)計(jì)思想。在Java開發(fā)中,Ioc意味著將你設(shè)計(jì)好的對(duì)象交給容器控制,而不是傳統(tǒng)的在你的對(duì)象內(nèi)部直接控制。如何理解好Ioc呢?理解好Ioc的關(guān)鍵是要明確“誰控制誰,控制什么,為何是反轉(zhuǎn)(有反轉(zhuǎn)就應(yīng)該有正轉(zhuǎn)了),哪些方面反轉(zhuǎn)了”

誰控制誰,控制什么?

傳統(tǒng)Java SE程序設(shè)計(jì),我們直接在對(duì)象內(nèi)部通過new進(jìn)行創(chuàng)建對(duì)象,是程序主動(dòng)去創(chuàng)建依賴對(duì)象;而IoC是有專門一個(gè)容器來創(chuàng)建這些對(duì)象,即由Ioc容器來控制對(duì)象的創(chuàng)建;誰控制誰?當(dāng)然是IoC容器控制了對(duì)象;控制什么?那就是主要控制了外部資源獲取(不只是對(duì)象包括比如文件等)。

為何是反轉(zhuǎn),哪些方面反轉(zhuǎn)了?

有反轉(zhuǎn)就有正轉(zhuǎn),傳統(tǒng)應(yīng)用程序是由我們自己在對(duì)象中主動(dòng)控制去直接獲取依賴對(duì)象,也就是正轉(zhuǎn);而反轉(zhuǎn)則是由容器來幫忙創(chuàng)建及注入依賴對(duì)象;為何是反轉(zhuǎn)?因?yàn)橛扇萜鲙臀覀儾檎壹白⑷胍蕾噷?duì)象,對(duì)象只是被動(dòng)的接受依賴對(duì)象,所以是反轉(zhuǎn);哪些方面反轉(zhuǎn)了?依賴對(duì)象的獲取被反轉(zhuǎn)了



猜你喜歡

final有什么作用?Java中final類的作用

攔截器和過濾器有什么區(qū)別?

Zookeeper是如何選取主leader的?

Java高級(jí)軟件工程師培訓(xùn)課程

0 分享到:
和我們在線交談!