一 概述
观察者模式(Observer),又叫发布-订阅模式(Publish/Subscribe),定义对象间一对多的依赖关系;每当一个对象改变状态,所有依赖于它的对象都会得到通知并进行相应的处理;
二 使用示例
package cn.http.test;
import java.util.Vector;
/**
* 主题:管理观察者(实现新增、删除、通知操作)
*
* @author:wjm
* @date:2020/6/28 21:06
*/
public class Subject {
/**
* 使用一个数组存放所有观察者,用Vector是线程同步的,比较安全,也可以使用ArrayList,是线程异步的,但不安全;
*/
private Vector<Observer> observers = new Vector<>();
/**
* 新增观察者
*
* @param observer
*/
public void add(Observer observer) {
this.observers.add(observer);
}
/**
* 移除观察者
*
* @param observer
*/
public void delete(Observer observer) {
this.observers.remove(observer);
}
/**
* 通知所有观察者
*/
public void notifyAllObser