C 實現抽象工廠模式

2021-09-25 01:18:18 字數 1165 閱讀 5497

概述

抽象工廠模式是乙個建立型設計模式,它針對的是建立產品族,而不是單單乙個產品

優點

封裝了產品的建立,使得不需要知道具體是哪種產品,只需要知道是哪個工廠即可

可以支援不同型別的產品,使得模式靈活性更強

可以非常方便的使用一族中的不同型別的產品

缺點

結構過於臃腫,如果產品型別較多或產品族較多,會非常難於管理

每次如果新增一組產品,那麼所有的工廠類必須新增乙個方法,這樣違背了開放關閉原則。所有一般使用於產品組合、產品族變化不大的情況

使用場景

在不必指定產品的具體情況下,建立多個產品族的產品物件

uml類圖

例項

//真正的車

class abstractrealcar;

//玩具車

class abstracttoycar;

//bmw

class realbmw : public abstractrealcar

};//benz

class realbenz : public abstractrealcar

};//bmw

class toybmw : public abstracttoycar

};//benz

class toybenz : public abstracttoycar

};//抽象工廠

class abstractfactory;

class bmwfactory : public abstractfactory

virtual abstracttoycar* createtoycar()

};class benzfactory : public abstractfactory

virtual abstracttoycar* createtoycar()

};void test01()

int main()

C 實現抽象工廠模式

using system public class fighttank fightiname public class peopletank peopleiname public class fightplane fightiname public class peopleplane peoplei...

C 實現設計模式 抽象工廠模式

感覺抽象工廠模式有點像你去買電腦的時候,先告訴賣電腦的你要買聯想的,然後再告訴賣電腦的你要個滑鼠,最後你喜提聯想的滑鼠回家了。這裡也感謝菜鳥教程,提供免費的學習資料。優點 當乙個產品族中的多個物件被設計成一起工作時,它能保證客戶端始終只使用同乙個產品族中的物件。缺點 產品族擴充套件非常困難,要增加乙...

用C 實現抽象工廠模式

大家都知道,在開發中,如果用好了某種模式,那效率 嘿嘿 我就不說了 進入正題吧 以下都為源 可直接拷貝,然後自己研究 由於是講解,所以只涉及基本的架構 專案名為 abstractfactorymode 1.建立抽象總工廠 using system using system.collections.g...