美文网首页
行为型模式 --- 观察者模式

行为型模式 --- 观察者模式

作者: 十二找十三 | 来源:发表于2020-08-27 14:45 被阅读0次
当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系
package study.org;

import java.util.ArrayList;
import java.util.List;

public class Demo {
    
    public static void main(String[] args) {
        Subject subject = new ConcreteSubject();
        Observer concreteObserver1 = new ConcreteObserver1();
        Observer concreteObserver2 = new ConcreteObserver2();
        
        subject.add(concreteObserver1);
        subject.add(concreteObserver2);
        subject.notifyObserver();
    }
    
}

abstract class Observer {
    abstract void response();
}


class ConcreteObserver1 extends Observer{

    @Override
    void response() {
        System.out.println("ConcreteObserver1 response method");
    }
    
}

class ConcreteObserver2 extends Observer{

    @Override
    void response() {
        System.out.println("ConcreteObserver2 response method");
    }
    
}



abstract class Subject {
    protected List<Observer> list = new ArrayList<Observer>();

    public void add(Observer observer) {
        list.add(observer);
    }

    public void remove(Observer observer) {
        list.remove(observer);
    }

    public abstract void notifyObserver();
}

class ConcreteSubject extends Subject {

    @Override
    public void notifyObserver() {
        for (Observer observer : list) {
            observer.response();
        }
    }

}

相关文章

网友评论

      本文标题:行为型模式 --- 观察者模式

      本文链接:https://www.haomeiwen.com/subject/cbvcsktx.html