Spring框架之我見(一)——工廠模式

你們好,今天給你們分享一些Spring的學習心得,在講Spring以前,先和你們分享Spring中核心的設計模式。

工廠模式

在聊概念以前我先問問你們:什麼是工廠?html

這個很簡單,工廠就是生產物品的地方,好比,鞋子工廠生產鞋子,工廠衣服生產衣服,汽車工廠生產汽車。數據庫

咱們都是知道,Java是一種面向對象的語言,那麼對象是否是也會有對象工廠呢?設計模式

答案是確定的,而工廠模式就是實現了Java對象工廠的一種建立性設計模式。學習

概念:工廠模式(Factory Pattern)就是一個建立對象的接口。不一樣的子類能夠建立不一樣的對象。

知道了什麼是工廠模式,那咱們不由要問了使用工廠模式和使用new關鍵字建立對象有什麼區別?咱們爲何要費力去爲建立對象再專門寫一個對象工廠呢?編碼

我理解的工廠模式主要適用於如下幾種狀況:設計

  1. 須要建立複雜對象的的時候均可以使用工廠模式。
  2. 建立過程更靈活,好比說咱們建立JDBC的Connection鏈接須要設置驅動、用戶名密碼,Url 咱們就可使用工廠模式。
  3. 最後,也是最重要的一點,就是解耦。好比說,我如今要換一個數據庫,我直接在工廠裏重寫一個新的建立方法就好了,實際的JDBC的操做幾乎不須要去更改。

這裏我只是說一下我本身的理解,若是你們對工廠模式須要更加深刻的瞭解能夠參考菜鳥教程,其中寫得更加詳細。htm

抽象工廠模式

既然聊到這裏,咱們就不得不提一下工廠模式的增強版——抽象工廠模式(Abstract Factory Pattern),其實,在個人理解中抽象工廠就是從其餘工廠獲取原料的工廠。
若是咱們須要一輛汽車,咱們不須要本身造,能夠直接從汽車工廠裏拿,這就是工廠模式,可是汽車工廠也不是從零生產的,汽車工廠須要從發動機工廠買發動機,輪胎工廠買輪胎,對不對,汽車工廠就至關於那個抽象工廠。對象

相對於工廠模式,抽象工廠模式生產的對象更加具體,也更加豐富,但相對編碼也更加複雜。具體的抽象工廠模式的實現你們能夠參考菜鳥教程教程

知道了工廠模式和抽象工廠模式的區別,請你們使用的時候應該根據具體的狀況進行選擇。接口

相關文章
相關標籤/搜索