观察者模式
定义
观察者模式又称发布-订阅模式(publish-subscribe),定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象。当主题对象的状态发生改变时,它会通知各个观察者,使他们自己更新自己。
结构
抽象观察者类:为具体观察者类定义了一个更新接口,当接到主题对象的通知后更新自己。
具体观察者类:实现抽象观察者类的更新接口,以便本身状态和主题对象的状态保持一致。
抽象主题类:它包含所有的观察者对象的引用并保存在一个集合当中,它拥有增加、删除观察者对象的方法。
具体主题类:当它的状态发生改变时通知观察者对象。
类图
抽象观察者(IObserver)
package com.headfirst.observermode.interfaces;
/**
* 抽象观察者
*/
public interface IObserver {
public void update();
}
抽象主题对象(ISubject)
package com.headfirst.observermode.interfaces;
import java.util.ArrayList;
/**
* 主题对象抽象类
*/
public abstra