美文网首页
对于Java中观察者模式的理解

对于Java中观察者模式的理解

作者: 了不起的潘 | 来源:发表于2017-08-03 10:44 被阅读0次

最近学习有关Rxjava有关知识,上来就被观察者模式给唬住了,其实观察者模式本质上就是接口的回调!


Android中有大量的观察者模式的运用,诸如,按钮的点击事件,ListView中的notifyDataSetChanged(),广播机制等等都是观察者模式的运用,其实微信公众号的订阅也是一种观察者模式的运用。那么观察者模式的定义是什么呢?----------在对象之间定义一对多的依赖,当对象改变时,依赖他的对象都会收到改变通知

java中通过Observer接口 和 Observable类来实现观察者模式。即观察者类实现Observer接口,被观察者继承Observable类。这里我们先手动现实一下简单的观察者模式,在运用Java中的观察者模式。

举个例子,英雄联盟中,英雄血量发生变化,通知英雄能力发生改变(如奥拉夫,血量越少,攻速越快)。

这里的英雄血量就是要被观察的对象,英雄能力是观察者。

首先看看被观察要实现的接口:

这里的Observer就是观察者接口:

看看具体被观察者的具体实现类:

观察者的实现类:

测试结果:

这里我们就实现一个简陋的观察者,这里还是比较呆的,如果英雄的其他属性发生改变,需要改写的就很多了。看看Java中自带的观察者如果实现的,我们改写我们的程序。去除我们自己的接口。

改写之后的被观察实现类:

观察者实体类:

测试结果不变。

仔细分析的话,其实就是接口的回调。观察者模式被大量的运用,理解这一模式的构成有助于我们对程序设计的理解。

相关文章

  • 观察者设计模式

    每周学点Java设计模式__观察者设计模式 本次继续更新java23中设计模式之一——观察者模式。 观察者模式(有...

  • 六、JDK自带观察者

    利用Java提供的Observer接口和Observable类实现观察者模式 对于观察者模式,其实Java已经为我...

  • 对于Java中观察者模式的理解

    最近学习有关Rxjava有关知识,上来就被观察者模式给唬住了,其实观察者模式本质上就是接口的回调! Android...

  • 【重温设计模式】JAVA中对观察者模式的支持

    前言 本文将分为以下三个部分介绍观察者模式 1.观察者模式介绍 2.观察者模式示例 3.Java中的观察者模式 一...

  • Java 观察者模式

    Java 观察者模式,也可以叫做Publish/Subscribe模式。简单理解,多个Observer可以订阅一个...

  • RxJava 2.x知识笔记

    观察者模式的运用 传统的Java观察者模式可以参考此篇博客:Java观察者模式案例简析 RxJava 是基于Jav...

  • 设计模式之观察者模式(实例+Demo)

    你能从本文了解到如下几个方面:1. 什么是观察者模式?2. 如何使用观察者模式。 3. Java中的观察者模式的使...

  • java建造者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java单例模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java外观模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

网友评论

      本文标题:对于Java中观察者模式的理解

      本文链接:https://www.haomeiwen.com/subject/mxhelxtx.html