定义
定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
角色
抽象主题(ISubject)
定义主题中的要实现的方法,包括保存所有的观察者,观察者注册,取消注册(增删)等。
主题类(ConcreteSubject)
实现了抽象主题中的具体方法。
抽象观察者(IObserver)
定义观察者要实现的方法,比如:更新,修改,回滚,显示等方法。
观察者类(ConcreteObserver)
实现抽象观察者中的具体方法。
类图
示例
观察者模式算是比较好理解的一种模式。简单示例如下:
public interface ISubject{
void addObserver(IObserver obs);
void delObserver(IObserver obs);
void removerAll();
void