观察者模式 (Observer Pattern)

观察者模式很简单,在被观察对象中添加观察者,当被观察对象有动作时,通知所有观察者们。

abstract class Subject {
    
    protected ArrayList<Observer> observers = new ArrayList<>();
    
    public void attach(Observer observer) {
        observers.add(observer);
    }
    
    public void detach(Observer observer) {
        observers.remove(observer);
    }
    
    public abstract void notice();
    
}

class ConcreteSubject extends Subject {

    @Override
    public void notice() {
        for(int i=0; i<observers.size(); i++) {
            observers.get(i).update();
        }
    }
    
}

 

posted @ 2022-04-25 20:01  HanselHuang  阅读(46)  评论(0编辑  收藏  举报