小編今天分享的內容是Java設計模式之工廠模式。設計模式
收藏以前,務必點個贊,這對小編可否在頭條繼續給你們分享Java的知識很重要,謝謝!文末有投票,你想了解Java的哪一部份內容,請反饋給我。學習
獲取學習資源,更多源碼,視頻,知識點講解!歡迎加入Java學習交流羣616959444,咱們一塊兒學Java!ui
工廠模式簡介設計
實例化對象,用工廠方法代替new操做。3d
實現類、建立對象統一管理和控制。從而實現了建立者和調用者的分離。orm
詳細類分類:視頻
簡單工廠模式:用來生產同一等級結構中的任意產品。(對於增長新的產品,須要修改已有代碼)對象
工廠方法模式:用來生產同一等級結構中的固定產品。(支持增長任意產品)blog
抽象工廠模式:用來生產不一樣產品族的所有產品。(對於增長新的產品,無能爲力;支持增長產品族)接口
應用場景:
- JDK 中Calendar 的getInstance方法。
- JDBC中Connection對象的獲取。
- Hibernate中SessionFactory建立Session。
- Spring 中IOC容器建立管理bean對象。
- XML解析時的DocumentBuilderFactory建立解析器對象。
- 反射中Class對象的newInstance()。
- 也叫作靜態工廠模式,就是工廠類通常是使用靜態方法,經過接收的參數的不一樣來返回不一樣的對象實例。
- 對於增長新產品無能爲力!不修改代碼的話,是沒法擴展的。
獲取學習資源,更多源碼,視頻,知識點講解!歡迎加入Java學習交流羣616959444,咱們一塊兒學Java!
- 爲了不簡單工廠模式的缺點,不徹底知足OCP。
- 工廠方法模式和簡單工廠模式最大的不一樣在於,簡單工廠模式只有一個(對於一個項目或者一個獨立模塊而言)工廠類,而工廠方法模式有一組實現了相同接口的工廠類。
獲取學習資源,更多源碼,視頻,知識點講解!歡迎加入Java學習交流羣616959444,咱們一塊兒學Java!
根據設計理論建議:工廠方法模式。但實際上,咱們通常都用簡單工廠模式。