码迷,mamicode.com
首页 > 编程语言 > 详细

【设计模式】Java设计模式第一课之观察者模式

时间:2015-02-13 16:33:29      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

我们可以用一个生活中的情景来认识一下观察者模式.


在这个时代,可能只有我们家里的老年人还保留着每天看报纸的习惯.报社负责生产内容,把它们组织到一张报纸上,每天进行印刷,然后送到每一个花钱订阅了报纸的用户家里.这样老人家就可以浏览一下每天发生的事情了.


这就是观察者模式最贴切的比喻.订阅者和报社是一对多的关系,每天只要更新了内容,就会统一把报纸送到用户的手里,当然,如果你不想订阅了,也可以退订.报社不知道你的状态,也不会关心你到底有没有看报纸,它的职责就是每天准时的把报纸送到你的家里.


下面是我看书的时候,总结的关于观察者模式的几个要点:

  • 设计原则:为了交互对象之间的松耦合而努力.
  • 定义了对象之间的一对多依赖,这样一来,当一个对象发生了改变时,它的所有依赖者都会受到通知并自动更新.
  • 观察者模式提供了一种对象设计,让可观察者和观察者之间松耦合.
  • 可观察者是有状态的
  • 可观察者用一个共同的接口来更新观察者
  • 可观察者不知道观察者的细节,只知道观察者实现了观察者接口
  • 松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到了最低.
  • Java有内置的观察者模式,在Java.util包中的Observer接口和Observable类,可以使用推和拉两种方式
  • 要认识到Java内置的观察者模式的局限性,因为Observer是一个类,而不是一个接口
  • MVC模式是观察者模式的最佳代表
  • 观察者模式也被应用于JavaBeans,RMI中.



【设计模式】Java设计模式第一课之观察者模式

标签:

原文地址:http://blog.csdn.net/lchad/article/details/43794977

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!