首頁技術(shù)文章正文

IOC和AOP分別是什么?如何理解?

更新時間:2020-12-15 來源:黑馬程序員 瀏覽量:

1577370495235_學IT就到黑馬程序員.gif

AOP把【核心代碼】和【非核心代碼】分離提高開發(fā)的效率。

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

誰控制誰,控制什么?

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


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

有反轉(zhuǎn)就有正轉(zhuǎn),傳統(tǒng)應用程序是由我們自己在對象中主動控制去直接獲取依賴對象,也就是正轉(zhuǎn);而反轉(zhuǎn)則是由容器來幫忙創(chuàng)建及注入依賴對象;為何是反轉(zhuǎn)?因為由容器幫我們查找及注入依賴對象,對象只是被動的接受依賴對象,所以是反轉(zhuǎn);哪些方面反轉(zhuǎn)了?依賴對象的獲取被反轉(zhuǎn)了



猜你喜歡

Java AQS是什么?如何理解AQS?

反射機制應用:DAO抽取通用層實現(xiàn)

JVM字符串底層實現(xiàn)原理介紹

Java高級軟件工程師培訓課程

分享到:
在線咨詢 我要報名
和我們在線交談!