`
dajian
  • 浏览: 114402 次
  • 性别: Icon_minigender_1
  • 来自: 白云
社区版块
存档分类
最新评论

2.观察者模式-Observer

阅读更多
定义:

在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新


角色:

  • 主题(可观察者)
  • 观察者


可自己实现观察者模式,也可利用JDK内置的支持实现。这个比较简单:
主题(可观察者):java.util.Observable类
观察者:java.util.Observer接口


主题(可观察者)要如何送出通知?

1.继承java.util.Observable类
2.需要以下两个步骤:
    2.1先调用setChanged()方法,标记状态已经改变的事实
    2.2再调用两种notifyObservers()方法中的一种。
        notifyObservers()
       notifyObservers(Object arg)

如何将对象变成观察者?
1.每一个观察者必须实现java.util.Observer接口,让自己成为观察者
2.调用addObserver()方法

观察者如何接收通知?
在实现的Observer中update(Observable o, Object obj)即可
Observable o:让观察者知道是哪个主题通知它
Object obj:这正是上面notifyObservers()传入的数据



分享到:
评论

相关推荐

    设计模式-观察者模式-作业-observer.zip

    观察者模式(Observer Pattern)是软件设计模式中的行为模式之一,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动或发布-...

    设计模式C++学习之观察者模式(Observer)

    观察者模式(Observer)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式在C++中广泛应用,特别是在需要...

    设计模式之观察者模式(Observer)

    观察者模式(Observer)是软件设计模式中的一种行为模式,其主要目的是在对象之间建立一种松散耦合的关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式广泛应用于事件驱动...

    设计模式之观察者模式(Observer Pattern)

    "ObserverPattern(订阅模式)3.zip"中的代码可能进一步阐述了观察者模式,这里的“订阅”一词可能意味着用户可以订阅特定的主题,只有当这些主题的状态改变时,用户才会收到通知。这与传统的观察者模式类似,但更加...

    观察者模式,Observer

    观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式常用于实现事件驱动的系统或者...

    Observer 观察者模式 示例 源码 ----设计模式

    观察者模式 概述 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 适用性 1.当一个抽象模型有两个方面,其中一个方面依赖于另一方面。 将这二者封装...

    设计模式--观察者模式java例子

    观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于事件驱动的系统或者...

    [行为模式]head first 设计模式之观察者模式(observer)

    观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式在软件开发中广泛应用于事件驱动...

    观察者模式(Observer)

    观察者模式(Observer)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态变化时通知多个“观察”该对象的其他对象。这个模式在软件工程中扮演着重要角色,尤其是在事件驱动编程和发布/订阅系统中。...

    观察者模式(Observer)

    观察者模式(Observer)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态变化时通知多个“观察”该对象的其他对象。这个模式在软件工程中广泛应用于事件驱动编程,例如用户界面组件的交互或者系统状态的...

    设计模式培训-observer.pdf

    在众多设计模式中,观察者模式(Observer Pattern)是一种行为型设计模式,它允许一个对象在状态发生改变时通知多个依赖对象,从而实现对象间的解耦。本篇将深入探讨观察者模式的核心概念、实现原理及应用案例,旨在...

    Python库 | django-observer-0.3rc4.tar.gz

    总结,"django-observer-0.3rc4.tar.gz"是一个针对Django框架的Python库,可能涉及观察者模式,用于扩展Django的应用场景。它为Python后端开发者提供了一个工具,帮助他们构建更动态、响应式的Web应用程序。在实际...

    设计模式专题之(十八)观察者模式---设计模式观察者模式示例代码(python--c++)

    观察者模式是软件设计模式中的一种行为模式,它允许一个对象,称为"主题",维护一个依赖于它的对象列表,这些对象被称为"观察者"。当主题的状态发生改变时,它会通知所有观察者,使它们能够自动更新自己。这种模式在...

    Java 设计模式-观察者模式(Observer)

    结合微信公众号讲解观察者模式,生动形象,关键是上手快啊

    14-Observer.rar

    "Observer"通常指的是Java中的`java.util.Observer`接口或者类似其他编程语言中的接口或抽象类,它们是观察者模式的核心组成部分。下面我们将深入探讨观察者模式的相关知识点: 1. **模式定义**:观察者模式也被...

    2 观察者模式-课程内容.rar

    在观察者模式中,有两个主要角色:主题(Subject)和观察者(Observer)。主题是被观察的对象,它可以是任何可以改变状态的对象;观察者是对主题状态变化感兴趣的实体,它们会在主题状态改变时收到通知。 1. **主题...

    设计模式培训-observer

    观察者模式(Observer Pattern),又称为发布-订阅模式,是一种行为设计模式,用于定义对象之间的依赖关系,其中一个对象(主题)的状态变化会自动通知其所有依赖对象(观察者)。这种模式在软件工程中广泛应用于...

Global site tag (gtag.js) - Google Analytics