![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
design patterns
marco_l
不忘初心
展开
-
策略模式
策略模式 定义算法簇,分别封装起来, 让他们之间可以互相替换,此模式让算法的变化对立与使用算法的客户#coding:utf-8class Duck: def __init__(self): self.fly_behavior = FlyNoWay() # 把飞的动作托付给FlyBehavior对象的子类 def perform_fly(self):原创 2016-03-02 22:04:04 · 227 阅读 · 0 评论 -
观察者模式
观察者模式 定义了对象之间的一对多依赖,当一个对象改变状态时,会通过调用notfity_observer函数通知所有的依赖者(即调用依赖者的update函数),就会实现依赖者的同步更新。 图片来源http://www.cnblogs.com/jerryxing/archive/2013/01/23/2873526.html# coding:utf-8# 观察者模式class S原创 2016-02-28 16:16:10 · 205 阅读 · 0 评论 -
简单工厂、工厂模式、抽象工厂模式
简单工厂其实不是一个设计模式,反而比较像是一种编程习惯产品基类Pizza, 子类 CheesePizza、 PepperoniPizza、ClamPizza、VeggiePizza 顾客通过商店PizzaStore的order_pizza函数预订pizza。 而pizza的生产依赖SimpleFactory, 通过SimpleFactory的create_pizza获取实际的pizza 。原创 2016-02-28 20:23:32 · 288 阅读 · 0 评论 -
单例模式
print '----------------------方法1--------------------------'# 方法1 通过重写__new__方法class Singleton(object): def __new__(cls, *args, **kw): if not hasattr(cls, '_instance'): cls._in原创 2016-02-28 17:34:10 · 217 阅读 · 0 评论