簡單工廠模式:
定義:是指由乙個工廠物件決定建立出哪一種產品類的例項。
目的是:解決**重複利用問題,減少冗餘。
優點:只需要傳入乙個正確的引數,就可以獲取所需要的物件,無須知道其建立的細節。
缺點:1、不易於擴充套件過於複雜的產品結構。
2、工廠類的職責相對過重,增加新的產品時需要修改工廠類的判斷邏輯,違背開閉原則。
由此可見:
1、 工廠類負責建立的物件較少。
2、 客戶端只需要傳入工廠類的引數,對於如何建立物件的邏輯不需要關心。
適用場景:
大部分工廠本身就是乙個單例模式。
工廠方法模式:
定義:乙個建立物件的介面,但讓實現這個介面的類來決定例項化那個類,工廠方法讓類的例項推遲到子類中進行。
適用場景:
1、建立物件需要大量重複的**
2、客戶端(應用層)不依賴於產品類例項如何被建立、實現等細節。
3、乙個類通過其子類來指定建立那個物件
優點:1、使用者只需要關心產品所對應的工廠,無需關心細節。
2、 加入新產品符合開閉原則,提高了系統的可擴充套件性。
缺點:1、類的個數容易過多,增加了**結構的複雜度。
2、增加了系統的抽象性和理解難度。
抽象工廠模式
規定乙個頂層工廠,讓下面子工廠都去繼承該頂層工廠。
我們可以擴充套件工廠以及擴充套件使用不同的生產物件。
優點:1、客戶端(應用層)不依賴於產品類例項如何被建立、實現等細節。
2、強調一系列相關的產品物件(屬於同一產品族)一起使用建立物件需要大量重複的**。
3、提供乙個產品類的庫,所有的產品以同樣的介面出現,從而使客戶端不依賴於具體實現。
缺點:
1、規定了所有可能被建立的產品集合,產品族中擴充套件新的產品困難,需要修改抽象工廠的介面。
2、增加了系統的抽象性和理解難度。
常見設計模式回顧 工廠模式
工廠模式是最常見的建立型模式,也是大多數人學習設計模式的起點。工廠模式屬於建立型模式,隱藏了物件建立的細節 這裡我們來看一下幾種常用的工廠模式 1.簡單工廠 public inte ce icar public class factory 簡單工廠類 factory 又被稱為 上帝類 想要創造什麼就...
C 常見設計模式 工廠模式
設計模式是對設計原則的具體化。用江湖話說就是武林秘籍,總結出來的一些固定套路,可以幫助有根基的程式設計師迅速打通任督二脈,從此做什麼都特別快。工廠模式主要是為建立物件提供了介面。應用場景如下 a 在編碼時不能預見需要建立哪種類的例項。b 系統不應依賴於產品類例項如何被建立 組合和表達的細節。主要特點...
常見設計模式 工廠模式(建立型模式)
工廠模式分為工廠方法模式和抽象工廠模式。工廠方法模式分為三種 建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。inte ce sender class mailsender implements sender class smssender implements sender public ...