JDK提供了观察者模式的实现类java.util.Observer,java.util.Observable.
java.util.Observer为观察者。
java.util.Observable观察物。
1.观察物
package observer;
import java.util.Observable;
public class Publisher extends Observable {
private String magazineName;
public String getMagazineName() {
return magazineName;
}
public void publish(String magazineName) {
this.magazineName = magazineName;
setChanged();// set the changed signal
notifyObservers();// notify all the observers
}
}
2.观察者
package observer;
import java.util.Observable;
import java.util.Observer;
public class Reader implements Observer {
// when the observable changed ,
// it will notify all the observers and this method will be invoke
@Override
public void update(Observable o, Object arg) {
if(o instanceof Publisher){
Publisher p = (Publisher) o;
System.out.println("i want to read magazine. " + p.getMagazineName());
}
}
}
3.测试类
package observer;
public class Main {
public static void main(String[] args) {
// create observer
Reader reader=new Reader();
// create observable
Publisher publisher = new Publisher();
// add observer
publisher.addObserver(reader);
// observable do some action
publisher.publish("I am antlove.");
}
}
分享到:
相关推荐
设计模式之观察者模式Java版本实现和UML类设计图
里面包括了读观察者模式的详细介绍,这是JDK中的一个非常重要的模式。
JDK里提供的observer设计模式的实现由java.util.Observable类和 java.util.Observer接口组成。从名字上可以清楚的看出两者在Observer 设计模式中分别扮演的角色:Observer是观察者角色,Observable是被观察目标...
用java实现的观察者模式,共需要的人学习,如果有不对的地方也请指出
我们说学习Java应该从Swing开始,那么学习Swing最重要的思想就是对于观察者模式的理解(Observer Pattern)。因为,该设计模式在Java Swing框架中贯穿了始终。对于C#的委托、代理概念所使用的Callback(回调模式--...
本文给大家介绍使用java8实现观察者模式的方法,涉及到java8观察者模式相关知识,对此感兴趣的朋友一起学习吧
JAVA设计模式在JDK中的应用JAVA设计模式在JDK中的应用 各种设计模式在JDK当中使用的地方 方便分析源码
Jdk15泛型的实现
jdk中设计模式 归纳了JDK中所包含的设计模式,包括作用和其设计类图
NULL 博文链接:https://redhacker.iteye.com/blog/413796
JDK1.5的泛型实现.pdf
该文档整理了JDK中有关的设计模式,包括创建型、结构型、行为型等模式在JDK中的应用
Linux环境下jdk安装图文模式易懂 Linux环境下jdk安装图文模式易懂 Linux环境下jdk安装图文模式易懂 Linux环境下jdk安装图文模式易懂
Java JDK1.5后新特性,用Lock和Condtion对象解决线程安全问题,提高了效率。
JDK1.5的泛型实现
基于java的jdk动态代理, 比较了静态代理与动态代理的区别,以及动态代理的底层实现,反编译class文件 jdk动态代理和cglib的区别
EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。 ...
模拟JDK动态代理内部实现
JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11...
java经典教程-JDK1.5的泛型实现