标签:
最近使用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;
}
}
代码执行后为:

如此,便实现了一个简单的观察者模式。
标签:
原文地址:http://www.cnblogs.com/bingwenwuhen/p/4244510.html