之前也写过观察者模式的文章,链接地址
https://blog.csdn.net/baidu_21349635/article/details/90602485
[观察者模式和 事件委托]
现在重新加深下观察者模式的理解。
需求
传统方式实现
CurrentConditions
WeatherData
Client
缺点
观察者模式
观察者模式解决天气预报需求
Observer
CurrentConditions
BaiduSite
Subject
WeatherData
- 类是核心
- 包含最新的天气情况信息
- 含有 观察者集合,使用ArrayList管理
- 当数据有更新时,就主动的调用 ArrayList, 通知所有的(接入方)就看到最新的信息
Client
运行结果:
观察者模式的好处
观察者模式在 Jdk 应用的源码分析
推荐观察者模式好文章
- 1.第一篇
https://www.cnblogs.com/WindSun/p/11503930.html
将的比较透彻,包括涉及到观察者模式的基本概念:1对多,主题,观察者,抽象主题,抽象观察者。
什么时候使用观察者。 - 2 第二篇:
https://blog.csdn.net/baidu_21349635/article/details/101351320
对观察者模式进行升级,通过反射来实现事件的委托。
完