設計模式(三十二)----綜合應用-自定義Spring框架-自定義Spring IOC-自定義Spring IOC總結

1 自定義Spring IOC總結

1.1 使用到的設計模式

  • 工廠模式。這個使用工廠模式 + 配置文件的方式。

  • 單例模式。Spring IOC管理的bean對象都是單例的,此處的單例不是通過構造器進行單例的控制的,而是spring框架對每一個bean只創建了一個對象。

  • 模板方法模式。AbstractApplicationContext類中的finishBeanInitialization()方法調用了子類的getBean()方法,因爲getBean()的實現和環境息息相關。

  • 迭代器模式。對於MutablePropertyValues類定義使用到了迭代器模式,因爲此類存儲並管理PropertyValue對象,也屬於一個容器,所以給該容器提供一個遍歷方式。

spring框架其實使用到了很多設計模式,如AOP使用到了代理模式,選擇JDK代理或者CGLIB代理使用到了策略模式,還有適配器模式,裝飾者模式,觀察者模式等。

1.2 符合大部分設計原則

1.3 整個設計和Spring的設計還是有一定的出入

spring框架底層是很複雜的,進行了很深入的封裝,並對外提供了很好的擴展性。而我們自定義SpringIOC有以下幾個目的:

  • 瞭解Spring底層對對象的大體管理機制。

  • 瞭解設計模式在具體的開發中的使用。

  • 以後學習spring源碼,通過該案例的實現,可以降低spring源碼學習的入門成本。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章