C 設計模式 工廠模式

2021-06-01 05:05:32 字數 541 閱讀 7934

可以方便的使用繼承來實現建立方法的多樣性,區別於使用靜態方法定義簡單工廠。

工廠方法模式:定義了乙個建立物件的介面,但由於子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到了子類。

依賴倒置原則:要依賴抽象,不要依賴具體類

以下指導方針將避免你再oo設計中違反依賴倒置原則:(盡量達到這個原則,不一定全要依賴)

1.變數不可以持有具體類的引用

2.不要讓類派生自具體類

3.不要覆蓋基類中已實現的方法

所有的工廠都是用來封裝物件的建立

簡單工廠:雖然不是真正的設計模式,但仍不失為乙個簡單的方法,可以將使用者程式從具體類解耦。

工廠方法使用繼承:把物件的建立委託給子類,子類實現工廠方法來建立物件。

抽象工廠使用物件組合:物件的建立被實現在工廠介面所暴露出來的方法中。

所有工廠模式都通過減少應用程式和具體類之間的依賴促進松耦合。

工廠方法允許類將例項化推遲到子類進行。

抽象工廠建立相關的物件家族,而不需要依賴他們的具體類。

依賴倒置原則,指導我們避免依賴具體的型別

C 設計模式 工廠模式

建立型模式,提供了一種建立物件的最佳方式。在工廠模式中,我能在建立物件時不會對客戶端暴露建立邏輯,並且通過使用乙個公用的介面來指向新建立的物件。我們將建立乙個 shape 介面和實現 shape 介面的實體類。下一步是定義工廠類 shapefactory。factorypatterndemo,我們的...

C 設計模式 工廠模式

目錄 基本概念 及例項 工廠方法模式 factory method 定義乙個用於建立物件的介面,讓字類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類 簡單工廠模式的最大優點在使用者工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了具體產品的依賴。工...

C 設計模式 工廠模式

工廠模式的分類 簡單工廠 include include include using namespace std 基類 class carvirtual void show 0 純虛函式 protected string name 寶馬 class bmw public car void show ...