更新時(shí)間:2020年12月15日17時(shí)51分 來(lái)源:傳智教育 瀏覽次數(shù):
IOC—Inversion of Control,即“控制反轉(zhuǎn)”,不是什么技術(shù),而是一種設(shè)計(jì)思想。在Java開(kāi)發(fā)中,Ioc意味著將你設(shè)計(jì)好的對(duì)象交給容器控制,而不是傳統(tǒng)的在你的對(duì)象內(nèi)部直接控制。如何理解好Ioc呢?理解好Ioc的關(guān)鍵是要明確“誰(shuí)控制誰(shuí),控制什么,為何是反轉(zhuǎn)(有反轉(zhuǎn)就應(yīng)該有正轉(zhuǎn)了),哪些方面反轉(zhuǎn)了”
誰(shuí)控制誰(shuí),控制什么?
傳統(tǒng)Java SE程序設(shè)計(jì),我們直接在對(duì)象內(nèi)部通過(guò)new進(jìn)行創(chuàng)建對(duì)象,是程序主動(dòng)去創(chuàng)建依賴(lài)對(duì)象;而IoC是有專(zhuān)門(mén)一個(gè)容器來(lái)創(chuàng)建這些對(duì)象,即由Ioc容器來(lái)控制對(duì)象的創(chuàng)建;誰(shuí)控制誰(shuí)?當(dāng)然是IoC容器控制了對(duì)象;控制什么?那就是主要控制了外部資源獲取(不只是對(duì)象包括比如文件等)。
為何是反轉(zhuǎn),哪些方面反轉(zhuǎn)了?
有反轉(zhuǎn)就有正轉(zhuǎn),傳統(tǒng)應(yīng)用程序是由我們自己在對(duì)象中主動(dòng)控制去直接獲取依賴(lài)對(duì)象,也就是正轉(zhuǎn);而反轉(zhuǎn)則是由容器來(lái)幫忙創(chuàng)建及注入依賴(lài)對(duì)象;為何是反轉(zhuǎn)?因?yàn)橛扇萜鲙臀覀儾檎壹白⑷胍蕾?lài)對(duì)象,對(duì)象只是被動(dòng)的接受依賴(lài)對(duì)象,所以是反轉(zhuǎn);哪些方面反轉(zhuǎn)了?依賴(lài)對(duì)象的獲取被反轉(zhuǎn)了
猜你喜歡
JVM對(duì)Java的原生鎖做了哪些優(yōu)化?
2020-12-08Java Synchronized原理是什么?Synchronized原理詳解
2020-12-08Java培訓(xùn)班學(xué)費(fèi)一般多少?正規(guī)Java培訓(xùn)班收費(fèi)標(biāo)準(zhǔn)
2020-12-04final有什么作用?Java中final類(lèi)的作用
2020-12-04什么是線(xiàn)程安全?如何理解線(xiàn)程安全?
2020-12-04Java學(xué)費(fèi)大概多少錢(qián)?Java培訓(xùn)怎么收費(fèi)?
2020-11-30北京校區(qū)