• 观察者模式-Observer


    一、定义

    定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

    观察者模式又被称为发布-订阅模式(publish-subscribe)。

    对于一个目标对象,其观察者可以是多个,当然也可以只有一个。

    二、类图

     

    Subject(目标接口)、ConcreteSubject(具体的目标)

    1.一个目标对象可以被多个观察者观察
    2.目标对象可以注册(register)和退订(remove)观察者
    3.当目标的状态发生改变时,目标负责通知所有注册的、有效的观察者。

    Observer(观察者)、ConcreteObserver(具体的观察者)

    1.能够保存注册的观察者对象(具有一个容器)
    2.提供注册和删除观察者的方法(注册观察者和删除观察者方法)
    3.能够通知所有注册的观察者对象(提供一个通知方法)

    三、实现

    目标对象要维持一个观察者的列表,因为只有这样,当目标对象发生改变时,才能对注册的观察者进行通知。

    四、JDK对观察者模式的支持

    由于观察者模式应用的非常广泛,所以JDK提供了内置的支持。但是许多时候,自己建立这一切会更具有弹性(况且建立这一切并不是很麻烦)

     推模式(push)和拉模式(pull)

    ……更多设计模式的内容,可以访问Refactoring.Guru

  • 相关阅读:
    安装驱动后链接DB
    将man文件导出为文本的脚本
    mysql中的DELIMITER
    存储过程模版(mysql)
    struts学习总结
    Java 反射和内省实现spring的IOC和DI
    JDK动态代理
    js跨域
    mysql函数
    正则表达式
  • 原文地址:https://www.cnblogs.com/rouqinglangzi/p/6925371.html
Copyright © 2020-2023  润新知