设计模式 #2:观察者模式
Posted on 2016-7-12 in Code • Tagged with code, python • Leave a comment
概括
观察者模式 = 发布者(publisher) + 观察者(observer / subscriber)
模式定义
观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
例子:气象监测应用
建立下一代 Internet 气象观察站。该气象站必须建立在 WeatheData 对象上,由 WeatherData 对象负责追踪目前的天气状况(温度、湿度、气压)。 对问题进行分析,发现我们要做的是: 建立一个应用,有三种布告板,分别显示目前的状况、气象统计及简单的预报。 当 WeatherObject 对象获得最新的测量数据时,三种布告板必须实时更新。 * 系统必须可扩展,让其他开发人员可以建立定制的布告板。
解决方案1
subject.py
class Subject(object):
'''Subject interface class'''
def register_observer …