0
点赞
收藏
分享

微信扫一扫

设计模式(24) -- 观察者模式


文章目录

  • ​​需求​​
  • ​​传统方式实现​​
  • ​​缺点​​
  • ​​观察者模式​​
  • ​​观察者模式解决天气预报需求​​
  • ​​观察者模式的好处​​
  • ​​观察者模式在 Jdk 应用的源码分析​​
  • ​​推荐观察者模式好文章​​


[观察者模式和 事件委托]

现在重新加深下观察者模式的理解。

需求

设计模式(24) --  观察者模式_观察者模式

传统方式实现

设计模式(24) --  观察者模式_javascript_02


设计模式(24) --  观察者模式_设计模式_03


设计模式(24) --  观察者模式_观察者模式_04


CurrentConditions

设计模式(24) --  观察者模式_源码分析_05


WeatherData

设计模式(24) --  观察者模式_javascript_06


Client

设计模式(24) --  观察者模式_观察者模式_07


设计模式(24) --  观察者模式_源码分析_08

缺点

设计模式(24) --  观察者模式_设计模式_09

观察者模式

设计模式(24) --  观察者模式_设计模式_10


设计模式(24) --  观察者模式_javascript_11

观察者模式解决天气预报需求

设计模式(24) --  观察者模式_javascript_12


Observer

设计模式(24) --  观察者模式_设计模式_13


CurrentConditions

设计模式(24) --  观察者模式_观察者模式_14


BaiduSite

设计模式(24) --  观察者模式_源码分析_15


Subject

设计模式(24) --  观察者模式_观察者模式_16


WeatherData

  • 类是核心
  1. 包含最新的天气情况信息
  2. 含有 观察者集合,使用ArrayList管理
  3. 当数据有更新时,就主动的调用 ArrayList, 通知所有的(接入方)就看到最新的信息
  4. 设计模式(24) --  观察者模式_javascript_17

  5. Client
  6. 设计模式(24) --  观察者模式_设计模式_18

  7. 运行结果:
  8. 设计模式(24) --  观察者模式_设计模式_19

观察者模式的好处

设计模式(24) --  观察者模式_源码分析_20

观察者模式在 Jdk 应用的源码分析

设计模式(24) --  观察者模式_javascript_21


设计模式(24) --  观察者模式_设计模式_22


举报

相关推荐

0 条评论