Head First 设计模式——观察者模式(Observer Pattern)——Python实现(1)
来源:互联网 发布:有个性的淘宝自动回复 编辑:程序博客网 时间:2024/05/16 09:57
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 Unported许可协议进行许可。允许非商业转载,但应注明作者及出处。
作者:liuyuan_jq
2011-06-13
观察者模式定义
定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖都会收到通知并自动更新。观察者模式提供了一种对象设计,让主题和观察者之间松耦合。
设计原则
为了交互对象之间的松耦合设计而努力。松耦合的设计之所以能让我们建立有弹性的系统,能够应对变化,是因为对象之间的互相依赖降到了最低。
问题
建立下一代Internet气象观察站,该气象站必须建立在我们专利申请中的WeatherData对象上,由WeatherData对象负责追踪目前的天气状况(温度,湿度,气压)。
- 建立一个应用,有三种布告板,分别显示目前的状态、气象统计及简单的预报。
- 当WeatherObject对象获得最新的测量数据时,三种布告板必须实时更新。
- 公布一组API,让其他开发人员可以写出自己的气象布告板。
设计气象站
WeatherData实现Subject接口
气象组件实现观察者接口
布告栏显示接口
源代码具体实现
subject.py
observer.py
weatherData.py
displayElement.py
测试
weatherStation.py
weatherStationHeatIndex.py
- Head First 设计模式——观察者模式(Observer Pattern)——Python实现(1)
- Head First 设计模式——观察者模式(Observer Pattern)——Python实现(2)
- Head First 设计模式——观察者模式(Observer Pattern)——Python实现(3)
- Head First 设计模式——观察者模式(Observer Pattern)
- Head-first设计模式(二)——观察者模式(Observer Pattern)
- Head First设计模式之观察者模式(Observer Pattern)
- Head First 设计模式——观察者模式(Observer Pattern) 之二
- Head First 设计模式 (二) 观察者模式(observer pattern) C++实现
- Head First 设计模式——策略模式(Strategy Pattern)——Python实现
- 设计模式——观察者模式(Observer Pattern)
- 设计模式(17)——观察者模式(Observer Pattern)
- 设计模式 —— 观察者模式(Observer Pattern)
- Java设计模式——观察者模式(Observer Pattern)
- 设计模式——观察者模式(Observer Pattern)
- Java设计模式——观察者模式(Observer Pattern)
- 设计模式—观察者模式(Observer Pattern)
- Head First设计模式—观察者模式
- Head First 设计模式——装饰器(Decorator Pattern)——Python实现
- AMQP介绍
- poj3349 Snowflake Snow Snowflakes
- Molehill 2D 研究4
- C++(一)
- Strust2 success sucess
- Head First 设计模式——观察者模式(Observer Pattern)——Python实现(1)
- JVM源码下载
- 就从这里开始吧
- 嵌入式LINUX之我行
- 最简单安装JDK1.6+Tomcat6
- 关于栈实践总结
- 敏捷软件开发(Agile Software Development)
- IO与文件读写---Java的IO流架构
- blue screen