PYTHON设计模式,创建型之简单工厂模式
2015-12-29 14:48
706 查看
这个系统,感觉思路清爽,,相信多练练,多思考,就会熟悉的。。
http://www.jianshu.com/p/2450b785c329
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
相关文章推荐
- Python:模块
- Python基础:11.2_函数调用
- 排序算法—快速排序算法分析与实现(Python)
- ArcGIS使用python进行三规合一用地调整
- 每天学点Python之zip
- Python标准库07 信号 (signal包,部分os包)
- python 1.1 数据类型和变量
- python的scipy库的安装
- python学习第一天
- 我的Python成长之路---第一天---Python基础(6)---2015年12月26日(雾霾)
- python定时程序(每隔一段时间执行指定函数)
- (转)windows系统下Python环境的搭建
- (转)python requests的安装与简单运用
- (转)win7 64 安装mysql-python:_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory
- [python]创建文本文件,并读取
- [Python]从安卓手机获取屏幕截图
- python 内存数据库与远程服务
- python 内存数据库与远程服务
- 3. Longest Substring Without Repeating Characters Leetcode Python New season for 2016
- python sklearn环境配置