首页 > 其他 > 详细

设计模式_观察者模式

时间:2019-04-09 10:48:29      阅读:157      评论:0      收藏:0      [点我收藏+]

模式:
用处:假设我们有一对多依赖关系的对象链,当一个对象的状态发生改变时,所有依赖于它的对象得到了通知并自动更新。

? 代码
主题类

class Subject {
    private List<Object> objs = new ArrayList<>();

    private String state;

    public void setState(String state) {
        this.state = state;
        notify();
    }

    public void attach(Object obj) {
        this.objs.add(obj);
    }

    public void notify() {
        for(Object obj : objs) {
            obj.update();
        }
    }
}

订阅了某主题的对象类

class Object {
    private Subject subject;

    public Object(Subject subject) {
        this.subject = subject;
        this.subject.attach(this);
    }

    public void update() {
        System.out.println("update operation");
    }
}
public Test {
    public static void main(String[] args) {

    }
}

设计模式_观察者模式

原文:https://www.cnblogs.com/tjc1996/p/10674924.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!