工廠模式的分類
簡單工廠
#include
#include
#include
using
namespace std;
// 基類
class
carvirtual
void
show()
=0;// 純虛函式
protected
: string _name;};
// 寶馬
class
bmw:
public car
void
show()
};// 奧迪
class
audi
:public car
void
show()
};enum cartype
;class
******factory}}
;int
main()
工廠方法#include
#include
#include
using
namespace std;
// 汽車基類
class
carvirtual
void
show()
=0;// 純虛函式
protected
: string _name;};
// 寶馬
class
bmw:
public car
void
show()
};// 奧迪
class
audi
:public car
void
show()
};// 工廠基類
class
factory
;// 寶馬工廠
class
bmwfactory
:public factory};
// 奧迪工廠
class
audifactory
:public factory};
intmain()
抽象工廠// 汽車基類
class
carvirtual
void
show()
=0;// 純虛函式
protected
: string _name;};
// 寶馬
class
bmw:
public car
void
show()
};// 奧迪
class
audi
:public car
void
show()
};// 車燈基類
class
light
;// 寶馬牌車燈
class
bmwlight
:public light};
// 奧迪牌車燈
class
audilight
:public light};
// 工廠基類
class
abstractfactory
;// 寶馬工廠
class
bmwfactory
:public abstractfactory
light*
createlight()
};// 奧迪工廠
class
audifactory
:public abstractfactory
light*
createlight()
};intmain()
新手上路,如有錯誤,請指出!!! C 設計模式 工廠模式
可以方便的使用繼承來實現建立方法的多樣性,區別於使用靜態方法定義簡單工廠。工廠方法模式 定義了乙個建立物件的介面,但由於子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到了子類。依賴倒置原則 要依賴抽象,不要依賴具體類 以下指導方針將避免你再oo設計中違反依賴倒置原則 盡量達到這個原則,不一定...
C 設計模式 工廠模式
建立型模式,提供了一種建立物件的最佳方式。在工廠模式中,我能在建立物件時不會對客戶端暴露建立邏輯,並且通過使用乙個公用的介面來指向新建立的物件。我們將建立乙個 shape 介面和實現 shape 介面的實體類。下一步是定義工廠類 shapefactory。factorypatterndemo,我們的...
C 設計模式 工廠模式
目錄 基本概念 及例項 工廠方法模式 factory method 定義乙個用於建立物件的介面,讓字類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類 簡單工廠模式的最大優點在使用者工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了具體產品的依賴。工...