美文网首页
观察者模式

观察者模式

作者: sunjiandev | 来源:发表于2019-11-08 09:16 被阅读0次

    观察者模式

    当对象间存在一对多关系时,则使用观察者模式(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("发送数据")
        }
    }
    
    

    相关文章

      网友评论

          本文标题:观察者模式

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