首页 > 其他 > 详细

观察者模式

时间:2016-12-30 15:34:42      阅读:199      评论:0      收藏:0      [点我收藏+]

观察者模式

定义:定义了对象之间的一对多依赖,当主对象改变状态时,它的所有依赖者都会收到通知并自动更新

类型:行为型

类结构图

技术分享

 

实现代码

 

public class Subject {
    
    private int data;
    
    private boolean isChange;

    private Set<Observer> observers=new HashSet<Observer>();
    
    public void register(Observer obj){
        observers.add(obj);
    }
    
    public void remove(Observer obj){
        observers.remove(obj);
    }
    
    public  void notifyAlls(){
        if(isChange){
            for(Observer ob:observers){
                ob.call(data);
            }
            isChange=false;
        }
    }
    
    public  void setData(int data){
        if(data!=this.data)isChange=true;
        this.data=data;
    }
}

public interface Observer {
    public abstract void call(int data);
}

public class Jack implements Observer{

    @Override
    public void call(int data) {
        System.out.println("Jack:"+data);
        
    }

}

public class Rusy implements Observer{

    @Override
    public void call(int data) {
        System.out.println("Rusy:"+data);
    }

}

 松耦合的威力

  当两个对象之间松耦合,它们依然可以交互,但是不太清楚彼此的细节。观察者模式提供了一种对象设计、让主题和观察者之间松耦合。松耦合让我们可以建立更有弹性和灵活的系统。

 

 

 

 

观察者模式

原文:http://www.cnblogs.com/yzjSince92/p/6236979.html

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