设计模式之观察者模式

看了观察者模式之后的一点想法和笔记,如果本人认知有什么错误,路过的大神给指点一下。(部分内容摘自《Head First设计模式》)

定义:

  • 定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

形象的例子:

  • 用户向报社订阅报纸。当报纸有更新时,报社会将报纸发到每一个订阅者家里。
  • 某网站有三个板块依赖于scope对象,当scope对象更新时,该三个板块同时需要更新
  • 。。。

具体例子

UML类图

设计模式之观察者模式_第1张图片
气象站关系类图
  • 大概的关系就是这个样子的。
  • 该示例中的代码跟《head first》一书中略有不同。我自己写了个getWeather类从网上的接口中获取JSON格式的天气信息。
  • 写完发现自己的命名有毒
  • 书中提到用一个新的类实现displayEle接口,就能将view分离开来,想到什么了?MVC!等我看到那部分再写。

代码的GitHub地址

https://github.com/guning/SubObs

你可能感兴趣的:(设计模式之观察者模式)