设计模式:观察者模式
文章目录
一、案例二、代码1.工作原理2.代码3.观察者模式在Jdk应用的源码分析
一、案例
天气预报项目需求,具体要求如下:
气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)。需要设计开放型API,便于其他第三方也能接入气象站获取数据。提供温度、气压和湿度的接口测量数据更新时,要能实时的通知给第三方
存在的问题:
其他第三方接入气象站获取数据的问题无法在运行时动态的添加第三方违反了ocp原则
二、代码
1.工作原理
➢观察者模式类似订牛奶业务
奶站/气象局: Subject用户/第三方网站: Observer
➢Subject: 登记注册、移除和通知
registerObserver 注册removeObserver 移除notifyObservers() 通知所有的注册的用户,根据不同需求,可以是更新数据,让用户来取
设计模式:观察者模式最先出现在Python成神之路。
共有 0 条评论