您的位置:首页 > 编程语言 > Python开发

Python 设计模式 --抽象工厂设计模式

2013-01-23 16:39 441 查看
抽象工厂同简单工厂模式的最大区别是 : 简单工厂模式 或者 工厂方法是 通过父类,屏蔽子类,创建单个产品。

抽象工厂是创建一个产品族。

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


简单也就这样,还可以更复杂!不过还是简单就是美吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: