观察者模式

案例:观察者Observer对被观察者Observered进行监控,一旦被观察者发生变化,观察者发出提示

1.写观察者接口和类,一个接口IObserver和实现这个接口的Observer的类。

接口有一个方法:doSth(),表明观察者发现被观察者发生变化时,就发出提示

public interface IObserver {	
	public void doSth();
}
public class Observer implements IObserver {
	 /* 一旦被观察者发生变化,那么观察者就回应,发现被观察者变化了
	 */
	@Override
	public void doSth() {
		// TODO Auto-generated method stub
		System.out.println("我知道被观察者发生变化了");
	}

}
2.写被观察者接口和类,一个接口IObservered和Observered类。

public interface IObservered {
	//被观察者是否发生变化
	public void change();

}
public class Observered implements IObservered {
	//被观察者是否改变
	private Observer observer = new Observer();
	
	@Override
	public void change() {
		// TODO Auto-generated method stub
		System.out.println("被观察者发生了变化");
		//通知观察者,观察者说发生了变化
		this.observer.doSth();
	}

}

3.主函数
//定义被观察者
Observered observered = new Observered();
//被观察者发生变化了
observered.change();


你可能感兴趣的:(观察者模式)