Python 设计模式 --抽象工厂设计模式
2013-01-23 16:39
441 查看
抽象工厂同简单工厂模式的最大区别是 : 简单工厂模式 或者 工厂方法是 通过父类,屏蔽子类,创建单个产品。
抽象工厂是创建一个产品族。
UML 类图如下:
View Code
简单也就这样,还可以更复杂!不过还是简单就是美吧!
抽象工厂是创建一个产品族。
UML 类图如下:
View Code
class NYPizzaStore(PizzaStore): def create_pizza(self, pizza_type): ingredient_factory = NYPizzaIngredientFactory() if pizza_type == "cheese": pizza = CheesePizza(ingredient_factory) pizza.set_name("New York Style Cheese Pizza") elif pizza_type == "clam": pizza = ClamPizza(ingredient_factory) pizza.set_name("New York Style Clam Pizza") else: pizza = None return pizza class ChicagoPizzaStore(PizzaStore): def create_pizza(self, pizza_type): ingredient_factory = ChicagoPizzaIngredientFactory() if pizza_type == "cheese": pizza = CheesePizza(ingredient_factory) pizza.set_name("Chicago Style Cheese Pizza") elif pizza_type == "clam": pizza = ClamPizza(ingredient_factory) pizza.set_name("Chicago Style Clam Pizza") else: pizza = None return pizza
简单也就这样,还可以更复杂!不过还是简单就是美吧!
相关文章推荐
- 23种设计模式之python实现--抽象工厂
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- 故事会-设计模式-抽象工厂
- Python设计模式--工厂模式
- 设计模式(三) 抽象工厂的学习和使用
- 设计模式之抽象工厂
- 小白学习设计模式——简单工厂、工厂方法、抽象工厂
- 设计模式03:抽象工厂
- .NET设计模式(3): 抽象工厂
- JAVA设计模式之二抽象工厂
- JAVA设计模式之二抽象工厂
- 设计模式-抽象工厂
- 设计模式之抽象工厂
- JAVA设计模式:工厂模式之抽象工厂
- PHP中的设计模式-简单工厂,静态工厂,工厂方法,抽象方法的关系
- 换个角度学习设计模式-抽象工厂
- 设计模式二:abstract factory 抽象工厂——对象创建型模式
- 设计模式-抽象工厂
- java设计模式--抽象工厂
- “设计模式”学习之一:工厂方法与抽象工厂