工廠模式學習
1. 參考資料
- 工廠模式-伯樂在線
- 三種工廠-思否
- 深刻理解工廠模式
2. 知識點理解
2.1 java三種工廠
- 簡單工廠
- 工廠模式
- 抽象工廠
2.2 異同點
- 逐級複雜
- 簡單工廠經過構造時傳入的標識來生產產品,不一樣產品都在同一個工廠中生產,這種判斷會隨着產品的增長而增長,給擴展和維護帶來麻煩
- 工廠模式沒法解決產品族和產品等級結構的問題
- 抽象工廠模式中,一個工廠生產多個產品,它們是一個產品族,不一樣的產品族的產品派生於不一樣的抽象產品(或產品接口)
2.3 拓展問題
- 在上面的代碼中,都使用了接口來表達抽象工廠或者抽象產品,那麼能夠用抽象類嗎?有何區別? 從功能上說,徹底能夠,甚至能夠用接口來定義行爲,用抽象類來抽象屬性。抽象類更加偏向於屬性的抽象,而用接口更加偏向行爲的規範與統一。使用接口有更好的可擴展性和可維護性,更加靈活實現鬆散耦合,因此編程原則中有一條是針對接口編程而不是針對類編程
- 到底什麼時候應該用工廠模式 根據具體業務需求。不要認爲簡單工廠是用switch case就以爲一無可取,也不要以爲抽象工廠比較高大上就處處套。咱們使用設計模式是爲了解決問題而不是炫技,因此根據三種工廠模式的特質,以及對將來擴展的預期,來肯定使用哪一種工廠模式
- 說說你在項目中工廠模式的應用 一個旅遊產品的B2B網站,根據不一樣類型的業務形態,產品也是不一樣的,有國內跟團,出境跟團,國內自由行,出境自由行,郵輪五種產品,而且後面可能還會有門票,酒店,機票等等產品,其中有些聯繫也有些區別
歡迎關注本站公眾號,獲取更多信息