Factory模式

                 工廠模式有兩種,一種是一個工廠只有一條流水線,只能生產一種特定的產品(小工廠);還有就是大工廠,一個工廠有好多條流水線,可以生產好多種產品,可是你接訂單的時候必需要挑好流水線號,生產出相應的產品。

                  小工廠:函數

                  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

相關文章
相關標籤/搜索