1 自定義Spring IOC總結
1.1 使用到的設計模式
-
工廠模式。這個使用工廠模式 + 配置文件的方式。
-
單例模式。Spring IOC管理的bean對象都是單例的,此處的單例不是通過構造器進行單例的控制的,而是spring框架對每一個bean只創建了一個對象。
-
-
迭代器模式。對於MutablePropertyValues類定義使用到了迭代器模式,因爲此類存儲並管理PropertyValue對象,也屬於一個容器,所以給該容器提供一個遍歷方式。
spring框架其實使用到了很多設計模式,如AOP使用到了代理模式,選擇JDK代理或者CGLIB代理使用到了策略模式,還有適配器模式,裝飾者模式,觀察者模式等。
1.2 符合大部分設計原則
1.3 整個設計和Spring的設計還是有一定的出入
spring框架底層是很複雜的,進行了很深入的封裝,並對外提供了很好的擴展性。而我們自定義SpringIOC有以下幾個目的:
-
瞭解Spring底層對對象的大體管理機制。
-
瞭解設計模式在具體的開發中的使用。
-
以後學習spring源碼,通過該案例的實現,可以降低spring源碼學習的入門成本。