定义
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知并被自动更新。
场景
水质检测。当水质为清澈时,让检测人员进行记录,当水质为轻度污染时,通知预警人员和检测人员,当水质为重度污染时,通知行政人员以及预警人员和检测人员。水质污染的状态发生变化,通知的人员也发生相应的变化,适合用观察者模式。
代码示例
首先定义观察者接口,这里增加了对观察者职务的获取和设置。
package observer;
public interface Watcher {
public void setJob(String job);
//获取观察人员的职务
public String getJob();