小工廠:函數
Factory 爲工廠的基類,有一個純虛函數factoryMethod();spa
Product爲產品的基類,在這裏什麼也沒給出。code
經過繼承,產生了兩個子類FristFactory和FristProduct。繼承
在這裏FristFactory這個小工場值生產FristProduct。產品
Product* FristFactory::factoryMethod()it
{
return new FristProduct;
}
大工廠模式,先要進行產品的註冊,這樣每次就會對工廠的代碼就行修改,違反了開閉原則。co
Product* FristBigFactory::factoryMethod(int i)new
{
if (i == 1) {
return new FristProduct;
}
else {
return NULL;
}
}
在這裏以int類型來做爲標識符。return