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

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

IOC是什么?如何理解IOC?

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

好口碑IT培訓

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

誰控制誰,控制什么?

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

為何是反轉,哪些方面反轉了?

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



猜你喜歡

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

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

Zookeeper是如何選取主leader的?

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

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