首页 > 代码库 > java实现观察者模式

java实现观察者模式

  最近使用java实现了设计模式中的观察者模式,源码如下:

  

package cn.demo;public class TestObersver {	public static void main(String[] args) {		Person person=new Person();		//声明被观察者		System.err.println("person:"+person);		person.addPersonListener(new PersonListener(){			public void running(PersonEvent pe) {				System.err.println("正在观察的人:"+pe.getSource());				System.err.println("他正在跑步");			}		});		person.run();	}}class Person{	private PersonListener pl;	public void addPersonListener(PersonListener pl){		this.pl=pl;	}		public void run(){		if(pl!=null){			pl.running(new PersonEvent(this));			}		System.err.println("正在跑步....");	}}interface PersonListener{	void running(PersonEvent pe);}class PersonEvent{	private Object obj;	public PersonEvent(Object obj){		this.obj=obj;	}	public Object getSource(){		return obj;	}}

  代码执行后为:

  技术分享

  如此,便实现了一个简单的观察者模式。

java实现观察者模式