![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
python_tty
努力成为python大牛
展开
-
单态模式--所有实利共享状态
单态模式就是所有的对象共享相同的状态class Brog(object): __shared_state = {"1": "2"} def __init__(self): self.x = 1 self.__dict__ = self.__shared_stateb = Brog()b.x = 4b1 = Brog()>>...原创 2018-07-19 14:34:12 · 299 阅读 · 0 评论 -
观察者模式
观察者模式定义了对象之间的一对多的依赖,这样一来,一个对象的状态改变了,依赖它的对象都会收到通知并自动更新。当主题的状态发生改变的时候,它会通知所有订阅它的观察者,并把最新的数据推送给观察者代码:"""观察者模式 在对象之间定义了一对多的依赖,这样一来,当一个对象的状态发生了变化,依赖它的对象都会收到通知,并自动更新《head first 设计模式》中的观察者模式 python实现...原创 2019-04-28 15:15:01 · 160 阅读 · 0 评论 -
装饰器模式
装饰器模式动态将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。装饰器模式的特点:继承属于扩展形式之一,但不见得是达到弹性设计的最佳方式在我们的设计中,应该允许行为被扩展,而不用修改现有的代码组合和委托可用在运行时动态的加上新的行为除了继承,装饰者模式也可以让我们扩展行为装饰者模式会导致出现很多小的对象,过度使用,会让程序变的很复杂可以用很很多个装饰者包装一个组件...原创 2019-04-29 10:53:57 · 291 阅读 · 0 评论 -
策略模式
策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式使算法的变化独立于使用算法的客户。python实现:"""策略模式"""class Duck(object): def __init__(self, fly, quack): self.fly = fly self.quack = quack def perform_...原创 2019-04-30 11:48:25 · 138 阅读 · 0 评论 -
单例模式测试
测试环境:flask + gunicorngunicorn配置:1个master 2个worker worker_class: sync初始化falsk app的代码之后加入单例模式的代码:class Single(object): _instance = None def __new__(cls, *args, **kwargs): ...原创 2019-05-16 16:14:57 · 847 阅读 · 0 评论