观察者模式,又称发布—订阅模式、模型—视图模式、源—监听模式、从属模式。在观察者模式中,被观察者和观察者之间是一对多的关系。当被观察者状态发生变化时,每个观察者都会得到通知并响应自动更新。
其简单实现
/**
* @author : Jack Wu
* @Title: Subject
* @ProjectName test_project
* @Description: TODO
* @date 2019/3/21 15:01
*/
public class Subject {
List<Observer> observerList=new ArrayList<>();
public void addObserver(Observer observer){
observerList.add(observer);
}
public void removeObserver(Observer observer){
observerList.remove(observer);
}
public void notityAllObserver(String msg){
for (Observer temp:observerList) {
temp.action(msg);
}
}
}
public interface Observer {
public void action(String msg);
}
public class Observer1 implements Observer {
@Override
public void action(String msg) {
System.out.println(msg+",Observer receive message,do something");
}
}
public class Observer2 implements Observer {
@Override
public void action(String msg) {
System.out.println(msg+",Objec2 receive message, do something");
}
}