記錄學習的點滴(Spring設計模式)

1.簡單工廠
又叫做靜態工廠方法(StaticFactory Method)模式,但不屬於23種GOF設計模式之一。 簡單工廠模式的實質是由一個工廠類根據傳入的參數,動態決定應該創建哪一個產品類。spring中的BeanFactory就是簡單工廠模式的體現,根據傳入一個唯一的標識來獲得bean對象,但是否是在傳入參數後創建還是傳入參數前創建這個要根據具體情況來定。 
注意BeanFactory和ApplicationContext的區別:
BeanFactory基本的工廠解析,管理,實例化所有容器內的bean的接口,Spring中所有解析配置文件的類都直接或者間接實現該接口ApplicationContext接口implements BeanFactory創建對象的特點:BeanFactory 在解析配置文件時並不會初始化對象,只有在使用對象時(getBean())纔會對該對象進行初始化。ApplicationContext 在解析配置文件時對配置文件中的所有對象都初始化了,getBean()方法只是獲取對象的過程
2.工廠方法(Factory Method) 
定義一個用於創建對象的接口,讓子類決定實例化哪一個類。Factory Method使一個類的實例化延遲到其子類。 spring中的FactoryBean就是典型的工廠方法模式。
注意BeanFactory和FactoryBean的區別:
FactoryBean:以Bean結尾,表示它是個Bean,不同於普通Bean的是:它是實現了FactoryBean<T>接口的Bean,根據該Bean的Id從BeanFactory中獲取的實際上是FactoryBean的getObject()返回的對象,而不是FactoryBean本身, 如果要獲取FactoryBean對象,可以在id前面加個&符號來獲取。


還有幾種暫未總結!!!!!

發佈了37 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章