天气预报项目需求,具体要求如下
- 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方网站)。
- 需要设计开放型的API,便于其他第三方也能够接入气象站获取数据。
- 提供温度、气压和湿度的接口
测量数据更新时,要能实时的通知给第三方。
天气预报设计方案1-普通方案
- 示意图

- CurrentConditions(当前的天气情况)
- 可以理解成时我们气象局的网站//推送
- 代码实现

- 问题分析
- 其他第三方接入气象站获取数据的问题
- 无法在运行时动态的添加第三方(新浪网站)
违反ocp原则==》观察者模式
观察者模式原理
观察者模式类似于拟定牛奶业务
1)奶站/气象局:Subject
用户/第三方网站:Observer
- Subject:登记注册、移除和通知

- registerObserver 注册
- removeObserver 移除
- notifyObservers() 通知所有的注册用户,根据不同的需求,可以是更新数据,让用户来取,也可能是实时推送,看具体需求。



