zoukankan      html  css  js  c++  java
  • 观察者模式

    什么是观察者模式:
        Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。
        发生变化的对象是被观察者。其他对象是观察者
    角色:
       Subject(被观察者):
            当被观察者的状态改变时,需要通知观察者队列中的对象。(被观察者需要维护一个观察者列表)
        ConcreateSubject(被观察者的具体实现)
        Observer(观察者):
            接口或者抽象类,当被观察者的状态发生变化时,Observer对象将通过callback函数得到通知。
        ConcreateObserver(观察者的具体实现):完成具体的逻辑。
    Observable类:
        java.uitl包下有个Observerable接口,如果一个对象需要被观察,就必须继承Observerable类。
        notifyObervers()方法
            Observerable类中有一个notifyObervers()方法。被观察者通过调用这个方法来通知观察者们。
        addObserver(Observer observer)方法:
            该方法用于注册观察者。
        hasChanged()方法:
            用于判断被观察者是否发生变化,
        setChanged()方法:
            触发被观察者的改变,这样NotifyObservers()方法发出通知后观察者的回调就会被调用,然后注册后的观察者就会得到通知。
    Observer接口:
        具体的观察者需要实现Observer接口。Observer接口中有个update方法,当发生变化时:该方法会触发。
    类图:
    
    应用:
        监听事件驱动的程序。
        监听对象状态。
        实现pub-sub模式。
  • 相关阅读:
    bash特性
    FHS 层级文件系统
    环境变量的问题
    linux认识
    搜索引擎的使用
    nginx
    部署操作手册
    git
    添加tag
    pycharm中使用git
  • 原文地址:https://www.cnblogs.com/Xmingzi/p/12601342.html
Copyright © 2011-2022 走看看