創建型#抽象工廠模式
概述:
抽象工廠方法是工廠方法模式的延伸,它提供了功能更為強大的工廠類並且具備較好的可擴展性;
優點:
1、抽象工廠模式隔離了具體類的生成,使得客戶端並不需要知道什么被創建。
2、當一個產品族中的多個對象被設計成一起工作時,它能夠保證客戶端始終只使用同一產品族中的對象;
3、增加新的產品族很方便,無需修改已有系統代碼,符合開閉原則;
缺點:
1、增加新的產品等級結構麻煩,需要對原有系統進行較大的修改,甚至需要修改抽象層代碼,違背了開閉原則;
適用環境:
1、用戶無需關心對象的創建過程,將對象的創建和使用解耦;
2、產品等級結構穩定,在設計完成之后不會向系統中增加新的產品等級結構或者刪除已有的產品等級結構;
3、系統中有多於一個的產品族,而每次只使用其中某一產品族。可以通過配置文件等方式來使用戶能夠動態改變產品族,也可以很方便的增加新的產品族;