• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

宏天工作室

尘封在心中的财富!
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

设计模式(3)-观察者模式(Observer)(行为型)

类似于报社或杂志的订阅。出版者加订阅者,只是在观察者模式中用主题(subject)和观察者(Obserer)来表示。

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

要点

n 观察者模式定义了对象之间的一对多关系

n 主题(也就是可观察者)用一个共同的接口来更新观察着

n 观察着与主题之间用松耦合方式结合(Loosecoupling),主题不知道观察者的细节,只知道观察着实现了观察者接口

n 使用此模式时,你可以从主题处推(Push)或拉(Pull)数据(推的方式被认为更正确)

n 有多个观察者时不可以依赖特定的通知次序

n Java有多种观察这模式的实现包括通用的java.util.Observable

n 注意java.util.Observable实现所到来的问题

n 如果有必要的话可以实现自己的Observable

n Swing大量使用观察着模式,许多GUI框架也是如此

n 此模式被应用到许多地方

观察着模式类图

 

posted on 2011-02-13 13:07  zjp  阅读(227)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3