#观察者设计模式实现对某一个事物的观察,当东西发生变化的时候,在调用自身的方法
interface Observer{
public void update();
}
class Observer1 implements Observer{
@Override
public void update(){
System.out.println("observer1 update");
}
}
class Observer2 implements Observer{
@Override
public void update(){
//
}
}
interface Subject{
public void addObserver(Observer observer);
public void delObserver(Observer observer);
public void updateObserver();
}
class MySubject implements Subject{
List<Observer> list=new ArrayList<>();
public MySubject() {
super();
}
@Override
public void addObserver(Observer observer) {
list.add(observer);
}
@Override
public void delObserver(Observer observer) {
list.remove(observer);
}
@Override
public void updateObserver() {
for(Observer observer:list){
observer.update();
}
}
public void update(){
System.out.println("update something");
updateObserver();
}
}