为了账号安全,请及时绑定邮箱和手机立即绑定

观察者模式

GerryZhang JAVA开发工程师
难度中级
时长 1小时56分
学习人数
综合评分9.53
113人评价 查看评价
9.7 内容实用
9.6 简洁易懂
9.3 逻辑清晰
  • 观察者模式总结----(二) /** * 观察者的具体实现---天气预报 */ public class WeatherSubject extends Subject { private String weatherState; //当前天气状态 public String getWeatherState() { return weatherState; } /** * 当天气的状态发生改变的时候,要通知到所有的观察者 * @param weatherState */ public void setWeatherState(String weatherState) { this.weatherState = weatherState; notifyAllObserver(weatherState);//调用父类的方法,通知所有的观察者。告知其天气状态 } } /** * 观察者,有update接口,用来接受目标类的通知 */ public interface Observer { /** * @param obj 目标类 调用(通知) 观察者对象该方法时,传入的通知内容 */ void update(Object obj); } 测试 WeatherSubject subject=new WeatherSubject(); //创建天气目标对象 subject.attach(new Observer() { public void update(Object obj) { System.out.println("我是观察者A,天气为"+obj); } }); //增添观察者 subject.attach(new Observer() { public void update(Object obj) { System.out.println("我是观察者B,天气为"+obj); } }); System.out.println("通知前。。。。"); subject.setWeatherState("晴天"); System.out.println("通知后。。。。");
    查看全部
  • 观察者模式总结-----(一) /** * 观察者模式: 一个目标类,多个观察者(用来观察目标)。 * 当目标类发生变化时,可以通知到他的所有观察者。 * * 原理:利用回掉函数机制。 所有“观察者类”继承一个“接口”(如Observer),该接口中有一个 * 方法(如,update())。将所有的观察者增添到“目标类”的“链表”中,当目标类的状态发生改变时, * 目标类可以遍历链表中的所有观察者,调用其update通知到所有的观察者。 * * 案例描述:有一个 天气预报(目标) 类,许多观察者类(如,网站,人等)需要第一时间得知天气的变化, * 然后做各自的处理。 */ /** * 目标类,用来增,删观察者,通知观察者 */ public class Subject { private List<Observer> observerList=new ArrayList<>();//存储观察该目标的观察者 /** * 增添一个观察者 * @param observer 要增添的观察者 */ public void attach(Observer observer) { observerList.add(observer); } /** * 删除一个观察者 * @param observer 要删除的观察者 */ public void detach(Observer observer) { observerList.remove(observer); } /** * 通知所有的观察者 * @param obj 要通知的信息 */ public void notifyAllObserver(Object obj) { for(Observer observer: observerList) { observer.update(obj);//遍历所有的观察者,依次调用其update方法。 } } }
    查看全部
  • 观察者实现模式的两种方式,推模式和拉模式。
    查看全部
  • 观察者模式,要通过java的observer类。观察者,你要先创建一个观察者和被观察者。
    查看全部
  • 观察者模式的定义 定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。
    查看全部
    0 采集 收起 来源:课程简介

    2017-04-13

  • 观察者模式流程
    查看全部
    0 采集 收起 来源:课程简介

    2017-04-10

  • 观察者模式的定义 定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。
    查看全部
    0 采集 收起 来源:课程简介

    2017-04-01

  • 观察者模式应用场景
    查看全部
  • 模式的秘密---观察者模式——利用Java提供的观察者实现 Java 实现 VS 自己实现的对比四点: (1)不需要再定义观察者和目标接口(JDK已经定义)。 (2)具体的目标实现里面不需要再维护观察者的注册信息,Java中的Observable类里面已经实现。 (3)触发通知的方式有一点变化,要先调用setChanged方法,这个是Java为了帮助实现更精确的触发控制而提供的功能。 (4)具体观察者的实现里面,update方法其实能同时支持推模型和拉模型,这个Java在定义的时候,已经考虑。
    查看全部
  • 命名建议
    查看全部
  • 官方定义
    查看全部
    0 采集 收起 来源:课程简介

    2017-03-20

  • 需求总结
    查看全部
  • 3
    查看全部
    0 采集 收起 来源:测试

    2017-03-10

  • 2
    查看全部
    0 采集 收起 来源:测试

    2017-03-10

  • 111
    查看全部

举报

0/150
提交
取消
课程须知
学习本课程前,需要具备Java基础,面向对象的程序设计思想。如果对这些知识不熟悉,可以学习《Java入门第一季》和《Java入门第二季》这两门课程。
老师告诉你能学到什么?
1、理解观察者模式的概念和结构 2、掌握如何将观察者模式应用到项目中,解决项目实际问题 3、掌握观察者模式的应用场景

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!