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. .NET 将数据输出到WORD、EXCEL、TXT、HTM
  3. python图形编程基础-Python从基础到入门系列教程
  4. python3.5将list类型转换为矩阵类型
  5. Windows Server 2008 R2 负载平衡入门篇
  6. Win10下安装wireshark不能正常使用,cmd管理员身份调用net start npf命令显示无法启动该服务
  7. MTK 驱动(72)---如何初步定位异常关机问题
  8. Struts2实现通过浏览器返回一个helloworld页面给用户
  9. 区分指针数组和数组指针
  10. 蓝桥杯备赛第一天-138译码器
  11. vagrant下载速度慢的解决方法
  12. Android Studio 设置控件边框
  13. HDU5956 The Elder(树上斜率DP)
  14. MODBUS CRC16 工具类
  15. 英伟达辟谣 RTX 3060 被破解传闻
  16. 【CSS基础】box-shadow盒子阴影(重点)
  17. HTML实现两行两列单元表
  18. java sorted 方法_多个.sorted(…)调用java 8流
  19. 看完全都会了!源码解读及如何保证线程安全?BAT大厂面试总结
  20. android recyclerView Binary XML file line #7: Error inflating class android.support.v7.widget.Recycl

热门文章

  1. Kafka集群安装Version1.0.1(自带Zookeeper)
  2. Java Se相关测试题(偏线程、集合)含答案及详解
  3. polycom安卓手机客户端_安卓 emoji 表情:全变了
  4. ubuntu16.04 离线安装docker ce
  5. 【WEB2.0】 网页调用QQ聊天(PC+M站)
  6. eclipse在调试的时候,打断点可以先打断点进入调试模式,进入调试模式后再打断点。...
  7. C# 中 NPOI 库读写 Excel 文件的方法【摘】
  8. [转]RegOpenKeyEx函数失败的问题
  9. 防范网络*** 应用层防护是重点
  10. 2013流行Python项目汇总