当前位置:首页 > 开发 > 编程语言 > JDK JVM > 正文

JDK观察者模式实现Observer Observable

发表于: 2013-02-05   作者:antlove   来源:转载   浏览次数:
摘要: JDK提供了观察者模式的实现类java.util.Observer,java.util.Observable. java.util.Observer为观察者。 java.util.Observable观察物。 1.观察物 package observer; import java.util.Observable; public class Publisher extends
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.");
	}
}

JDK观察者模式实现Observer Observable

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
原文链接:http://www.2cto.com/kf/201310/253013.html 如果要想实现观察者模式,则必须依靠java.ut
package com.util.ObservDemoTest; import java.util.Observable; import java.util.Observer; publ
1.概述 一些面向对象的编程方式,提供了一种构建对象间复杂网络互连的能力。当对象们连接在一起时,
需求: 现实生活中,我们有这样的需求,某一个事物的状态发生了改变,我们就需要通知另外跟这个事物
观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到
一、概述 对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知
观察者模式—— Observer 本系列文章中, State 模式的第一种实现方法 (switch 实现 state 转化 )
场景: 1.进攻队员射门。 2.防守队员(后卫、门将)作出反应(封堵,扑救)。 使用jdk自带的observer
意图:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发
名字: 观察者模式(Observer) 别名: 别依赖(Dependents)、发布-订阅(Publish-Subscribe) 意图: 定义对
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号