Subject–>小明–>知道他的观察者(妈妈,女朋友)–>可以添加,删除,通知他的观察者
ConcreteSubject–>天气预报–>各种不同天气状态–>天气改变了也要通知观察者(小明)的妈妈,女朋友
Observer->接口
ConcreatObserver–>小明母亲和女朋友–>重写接口的update方法,使得状态改变了观察者也马上观察得到
——只有我觉得这个观察者模式和那个多线程的同步问题差不多吗
*目标接口 Subject
观察者接口 Observer
观察者接口的更新方法 update
触发通知的时机先改数据后通知
观察者模式调用顺序 准备阶段1创建目标对象2创建观察者对象3相目标对象注册观察者对象 运行阶段1改变目标对象的状态1.1通知所有注册地观察者对象进行相应的处理1.1.1回调目标对象,获取相应数据
通知的顺序 观察之间是平行的*
说的太复杂了,感觉没有把观察者模式的本质讲解明白。至于推模型和拉模型的区别,解释的也比较生硬。其实在传统的观察者模式中,全都属于推模式。拉模式应该是在观察者一段存在一个轮训,然后每隔一段时间就向观察对象回调一次数据。有变化就更新自己的状态,没有变化就继续轮训


观察者模式 触发联动

      当一个抽象模型有两个方面,其中一个方面的操作依赖于另一个方面的状态变化如果在更改一个对象的时候,需要同时连带改变其他的对象,而且不知道究竟应该 有多少对象需要被连带改变当一个对象必须通知其他的对象,但是你又希望这个对象和其他的被通知的对象是松散耦合的

设计模式--观察者模式--Java实现相关推荐

  1. java设计模式--观察者模式(Observer)

    java设计模式--观察者模式(Observer) java设计模式--观察者模式(Observer) 观察者模式的定义: 定义对象间的一种一对多的依赖关系.当一个对象的状态发生改变时,所有依赖于它的 ...

  2. Java设计模式-观察者模式(订阅发布模式)

    Java设计模式-观察者模式(订阅发布模式) 一起来看 会了就当复习丫,不会来一起来看看吧. 很喜欢一句话:"八小时内谋生活,八小时外谋发展". 如果你也喜欢,让我们一起坚持吧!! ...

  3. 设计模式-观察者模式(Observer)-Java

    设计模式-观察者模式(Observer)-Java 目录 文章目录 1.前言 2.示例案例-多人联机对战游戏的设计 3.观察者模式概述 3.1.观察者模式定义 3.2.观察者模式结构 3.3.观察者模 ...

  4. 设计模式---观察者模式介绍与理解

    设计模式---观察者模式介绍与理解: 观察者模式原理:类似于定牛奶业务 1. 奶站,subject:登记注册,移除,通知(register,remove,notify) 2. 用户,observer: ...

  5. GOF23种设计模式在Java中的应用(part 3)

    本文接续:GOF23种设计模式在Java中的应用(part 2) 行为型模式 行为型模式关注系统中对象之间的相互交互.,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责,共有11种模式. ...

  6. GOF23种设计模式在Java中的应用(part 1)

    第二部分:GOF23种设计模式在Java中的应用(part 2) 一.GOF来源及简介 1.1 GOF23种设计模式简介 <Design Patterns: Elements of Reusab ...

  7. 设计模式 | 观察者模式及典型应用

    本文主要内容: 介绍观察者模式 微信公众号的发布/订阅示例 观察者模式总结 分析观察者模式的典型应用 JDK 提供的观察者接口中的观察者模式 Guava EventBus 中的观察者模式 JDK 委托 ...

  8. 复习专栏之---设计模式(java)

    设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理 ...

  9. 设计模式(JAVA)

    设计模式 一.简单工厂模式 二.工厂方法模式 三.抽象工厂模式 四.建造者模式 五.原型模式 六.单例模式 七.适配器模式 八.桥接模式 九.组合模式 十.装饰模式 十一.外观模式 十二.享元模式 十 ...

最新文章

  1. 微信公众号开发 微信消息回复开发 文本消息 图片消息开发
  2. 抖音只能上下滑动吗_抖音:如何靠评论,轻松涨粉十万
  3. 前端学习(310):清除浮动的方法
  4. 记住看小电影前一定要检查一下域名是不是 HTTPS 的,不然……
  5. BUCK拓扑中IDC与IO的关系推导 // 《精通开关电源设计》P41式2-1
  6. 北醒TF雷达在飞控F4 上的应用
  7. mysql1291错误_当MySQL创建表格时出现 1291 - Column 'e_sxe' has duplicated value '?' in ENUM 错误...
  8. 怎么把SEO和SEM配合起来
  9. 网站后台——用户上传图片剪切
  10. CSDN勤写标兵勋章获取方法
  11. mysql 根据身份证号码更新性别
  12. HTTP协议状态码的含义
  13. border-radius 兼容 IE8浏览器
  14. Filter过滤器的理解(一)
  15. 最火的Android开源项目整理
  16. 电脑无法识别u盘是怎么回事?数据能恢复吗
  17. python画图设置字体_【转】matplotlib画图时的中文设置
  18. ANT DESIGN VUE upload 上传excel (使用upliad组件,上传excel到页面表格)
  19. C语言使用QRcode生成二维码
  20. java软件销售_管理软件不销售

热门文章

  1. Kafka消息压缩与解压
  2. 二进制位运算中‘1’的个数
  3. 电商系统中API接口防止参数篡改和重放攻击(小程序/APP)
  4. JAVA大厂高频面试题及答案
  5. java memcmp_C 库函数
  6. oracle数据库环境实验报告,《Oracle数据库》实验报告二
  7. get请求中传json参数报400的错误_诡异 | Spark使用get_json_object函数
  8. android代码关闭数据库,android – 我应该如何正确打开和关闭我的数据库
  9. java php serialize_PHP serialize 和 JSON 解析与区别
  10. TiDB 部署及数据同步