概述
抽象工廠模式是乙個建立型設計模式,它針對的是建立產品族,而不是單單乙個產品
優點
封裝了產品的建立,使得不需要知道具體是哪種產品,只需要知道是哪個工廠即可
可以支援不同型別的產品,使得模式靈活性更強
可以非常方便的使用一族中的不同型別的產品
缺點
結構過於臃腫,如果產品型別較多或產品族較多,會非常難於管理
每次如果新增一組產品,那麼所有的工廠類必須新增乙個方法,這樣違背了開放關閉原則。所有一般使用於產品組合、產品族變化不大的情況
使用場景
在不必指定產品的具體情況下,建立多個產品族的產品物件
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...