观察者模式

2019-11-08  本文已影响0人  sunjiandev

观察者模式

当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。

代码实现:

public class Observer_One implements Observer{
    
    @Override
    public void update(Observable o,Object obj){
        System.out.println("Observer_One obj ="+obj);
    }
    
}
...

public class Observer_Two implements Observer{
    
    @Override
    public void update(Observable o,Object obj){
        System.out.println("Observer_Two obj ="+obj);
    }
    
}

...

public class Publish extends Observable{
    
    public void publish(String data){
        setChange();//必须调用 父类的这个方法,不然数据不会发送
        notifyObserver(data);//发送数据变化通知
    }
    
}

public class Test{
    public void main(String[] args){
        
      Publish public = new Publish();
        publish.addObserver(new Observer_One());
        publish.addObserver(new Observer_Two());
        
        public.publish("发送数据")
    }
}

上一篇 下一篇

猜你喜欢

热点阅读