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

PYTHON设计模式,创建型之简单工厂模式

2015-12-29 14:48 706 查看
这个系统,感觉思路清爽,,相信多练练,多思考,就会熟悉的。。
http://www.jianshu.com/p/2450b785c329
#!/usr/bin/evn python
#coding:utf8

class Pizza(object):
def prepare(self, type):
print 'prepare {type} pizza'.format(type=type)

def bake(self, type):
print 'bake {type} pizza'.format(type=type)

def cut(self, type):
print 'cut {type} pizza'.format(type=type)

def box(self, type):
print 'box {type} pizza'.format(type=type)

class CheesePizza(Pizza):
def __init__(self):
self.name = "cheese pizza"

class ClamPizza(Pizza):
def __init__(self):
self.name = "clam pizza"

class VeggiePizza(Pizza):
def __init__(self):
self.name = "viggie pizza"

class SimplePizzaFactory(object):
def create_pizza(self, type):
pizza = None

if type == "cheese":
pizza = CheesePizza()
elif type == "clam":
pizza = ClamPizza()
elif type == "veggie":
pizza = VeggiePizza()
return pizza

class PizzaStore(object):
def __init__(self, factory):
self.factory = factory

def order_pizza(self, type):
pizza = self.factory.create_pizza(type)
pizza.prepare(type)
pizza.bake(type)
pizza.cut(type)
pizza.box(type)
return pizza

if __name__ == '__main__':
store = PizzaStore(SimplePizzaFactory())
pizza = store.order_pizza('cheese')
print pizza.name
pizza = store.order_pizza('clam')
print pizza.name
pizza = store.order_pizza('veggie')
print pizza.name


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: