1. 程式人生 > 其它 >如何實現一個IOC容器?

如何實現一個IOC容器?

IOC(Inversion of Control),意思是控制反轉,不是什麼技術,而是一種設計思想,IOC意味著將你設計好的物件交給容器控制,而不是傳統的在你的物件內部直接控制

在傳統的程式設計中,我們直接在物件內部通過new進行物件建立,是程式主動去建立依賴物件,而IOC是有專門的容器來進行物件的建立,即IOC容器來控制物件的建立。

在傳統的應用程式中,我們是在物件中主動控制去直接獲取依賴物件,這個是正轉,反轉是由容器來幫忙建立及注入依賴物件,在這個過程過程中,由容器幫我們查詢級注入依賴物件,物件只是被動的接受依賴物件。

1、先準備一個基本的容器物件,包含一些map結構的集合,用來方便後續過程中儲存具體的物件

2、進行配置檔案的讀取工作或者註解的解析工作,將需要建立的bean物件都封裝成BeanDefinition物件儲存在容器中

3、容器將封裝好的BeanDefinition物件通過反射的方式進行例項化,完成物件的例項化工作

4、進行物件的初始化操作,也就是給類中的對應屬性值就行設定,也就是進行依賴注入,完成整個物件的建立,變成一個完整的bean物件,儲存在容器的某個map結構中

5、通過容器物件來獲取物件,進行物件的獲取和邏輯處理工作

6、提供銷燬操作,當物件不用或者容器關閉的時候,將無用的物件進行銷燬