美文网首页
Python观察者模式

Python观察者模式

作者: 虾想家 | 来源:发表于2017-03-19 15:24 被阅读7次

观察者模式,被观察物自身属性通知观察者。

class Obj(object):
    def __init__(self, value):
        super().__init__()
        self.observers = []
        self.dynamic_value = value

    def add_observer(self, observer):
        self.observers.append(observer)

    def remove_observer(self, observer):
        self.observers.remove(observer)

    def notify_observer(self):
        for observer in self.observers:
            observer.update()


class Observer(object):
    def __init__(self, target):
        super().__init__()
        self.target = target

    def update(self):
        print(self.target.dynamic_value)


def main():
    obj = Obj("value")

    observer = Observer(obj)

    obj.add_observer(observer)
    obj.dynamic_value = "new_value"
    obj.notify_observer()


if __name__ == '__main__':
    main()

相关文章

  • 观察者模式_20190912(python)

    一、观察者模式介绍 二、观察者模式UML 三、python实现观察者模式(demo1、2) 1、demo1 """...

  • 2017-12-26

    今天黄老师讲解了python观察者模式,观察者模式有很多实现方式,从根本上说,该模式必须包含两个角色:观察者和被观...

  • 2017-12-27

    今天上午黄老师主要讲解他的项目,用python讲解了观察者模式。实现观察者模式的时候要注意,观察者和被观察对象之间...

  • python设计模式

    观察者模式 python观察者模式是一种设计模式需求:员工上班在偷偷看股票,拜托前台一旦老板进来,就通知他们,让他...

  • Python观察者模式

    [python|高级篇|笔记|设计模式|观察者模式] 这两天读了[Head First设计模式][1]和[Pyth...

  • 12.27

    今天老师主要还是讲解他的项目 依然用python讲解了观察者模式。观察者模式就是有一块公共数据中心(函数),各个模...

  • 11.9设计模式-观察者模式-详解

    设计模式-观察者模式 观察者模式详解 观察者模式在android中的实际运用 1.观察者模式详解 2.观察者模式在...

  • 2017年12月27日学习总结

    今天上午黄老师主要还是讲解他的项目 依然用python讲解了观察者模式。观察者模式就是有一块公共数据中心(函数),...

  • RxJava基础—观察者模式

    设计模式-观察者模式 观察者模式:观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式...

  • 前端面试考点之手写系列

    1、观察者模式 观察者模式(基于发布订阅模式) 有观察者,也有被观察者。 观察者需要放到被观察者列表中,被观察者的...

网友评论

      本文标题:Python观察者模式

      本文链接:https://www.haomeiwen.com/subject/awgmnttx.html