大话设计模式-----观察者模式

1、思想

让多个观察者对象同时监听某一个主题对象(老板或者前台秘书),这个主题对象在状态发生变化时,会通知所有的观察者对象,使它们能够自动的更新自己。

2、代码

//抽象通知者

public  interface Subject{

    void add(Observer observer);

    void remove(Observer observer);

     void notifyAll();

}

//抽象观察者

public interface Observer{

    void update();

}

//具体通知者

public class ConcreteSubject implements Subject{

        private ArrayList<Observer> list = new ArrayList<Observer>();

        @Override

        public void add(Observer observer){

                   list.add(observer);

       }

        @Override

       public  void remove(Observer observer){

               list.remove(observer);

        }

        public void notifyAll(){

                for(Observer observer:list){

                              observer.update();

                }

        }

}

//具体观察者

public class ConcreteObserver implements Observer{

      @Override

     public void update(){

            //更新自己的状态

    }

}



猜你喜欢

转载自blog.csdn.net/g1607058603/article/details/80769301
今日推荐