看完观察者模式自己实现了一下.
我用的是推模式.
数据传入模型
package study;
public class WeatherDataModel {
private String day ="";
public WeatherDataModel(String day){
this.setDay(day);
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
}
主题,信息源,发布者
package study;
import java.util.Observable;
public class WeathereData extends Observable{
public void findData(WeatherDataModel dataModel){
this.setChanged();
this.notifyObservers(dataModel);
}
}
观察者,订阅用户
package study;
import java.util.Observable;
import java.util.Observer;
public class CatObserver implements Observer{
public void update(Observable o, Object arg) {
if(arg instanceof WeatherDataModel){
System.out.println(((WeatherDataModel)arg).getDay());
}
}
}
测试
package study;
import junit.framework.TestCase;
public class TestObserverPattern extends TestCase{
public void testObserver() {
WeatherDataModel newWeather = new WeatherDataModel(
"Today is a good day");
WeathereData weathereData = new WeathereData();
CatObserver catObserver = new CatObserver();
weathereData.addObserver(catObserver);
//weathereData.
weathereData.findData(newWeather);
newWeather.setDay("It's a fine day");
weathereData.findData(newWeather);
weathereData.findData(newWeather);
}
}
欢迎大家交流.
分享到:
相关推荐
标题"php SPL观察者模式例子"暗示我们将探讨如何在PHP中使用SPL库实现观察者模式。SPL库中的`SplObserver`和`SplSubject`接口是实现观察者模式的关键组件。 **观察者模式的核心概念** - **主题(Subject)**:主题...
C++ 观察者模式的详细例子。2010-06-07编写。
本篇文章将深入探讨Qt中的观察者模式(Observer Pattern),这是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 观察者模式的核心...
在这个"C++ 实现观察者模式小例子"中,我们看到它被应用到了显示器和报警器这两个组件上,它们根据泵的温度和压力来展示信息或触发警报。 首先,我们需要理解观察者模式的基本结构。在这个模式中,有三个主要角色:...
在这个"观察者模式简单例子"中,我们将通过一个天气预报版的例子来深入理解这一模式。 在《Head First设计模式》第2章的天气预告版示例中,有三个主要角色:Subject(主题)、Observer(观察者)和ConcreteSubject...
在提供的压缩包文件中,`观察者模式模版和例子`可能包含了实现这些概念的代码示例,通过阅读和理解这些代码,你可以更好地掌握观察者模式的实现细节和应用方式。为了深入学习,建议先了解观察者模式的基本概念,然后...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于事件驱动的系统或者...
在给定的压缩包文件中,"设计模式例子,观察者模式,建造者模式" 提到了两种重要的设计模式:观察者模式(Observer Pattern)和建造者模式(Builder Pattern)。下面我们将深入探讨这两种设计模式的概念、应用场景、...
在C#编程中,观察者模式(Observer Pattern)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态改变时通知多个“观察”该对象的其他对象。这个模式广泛应用于事件驱动编程,例如GUI系统、多线程通信等...
在C#编程中,观察者模式...通过这个简单的例子,我们展示了如何使用C#的委托来实现观察者模式。这个模式在多处有应用,如UI控件的事件处理、数据绑定等。理解并熟练运用观察者模式有助于构建可扩展、解耦的系统。
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于事件驱动的系统或者...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动或者发布...
接下来,我们将深入探讨如何使用这两个核心组件来构建观察者模式的例子。 首先,我们创建一个`Observable`的子类,这个类通常包含被观察的状态变量。例如,我们可以创建一个`Temperature`类,模拟一个温度计,其...
在这个名为“运用MVC模式及观察者模式的java小程序”的项目中,我们重点探讨了两种经典的设计模式:Model-View-Controller(MVC)模式和Observer(观察者)模式。这两种模式在JavaWeb开发中扮演着至关重要的角色。 ...
观察者模式是软件设计模式中的一种行为模式,它在对象之间建立了一种一对多的依赖关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式常用于事件驱动的系统或者需要实时...
在这个例子中,虽然没有直接给出UML图,但根据描述,我们可以理解`BlogCSDN`与`ObserverBlog`之间的关系是观察者模式的经典体现,即`BlogCSDN`作为被观察者,`ObserverBlog`作为观察者。 通过这样的设计,博客的...
观察者模式,也被称为发布-订阅(Publish-Subscribe)模式,是软件设计模式中的行为模式之一,主要用于对象间的一对多依赖关系管理。在Java中,观察者模式的实现主要依赖于`java.util.Observable`和`java.util....
观察者模式(Observer Pattern)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态改变时通知多个“观察”该对象的其他对象。在C++中实现观察者模式,通常涉及以下几个关键概念: 1. **主题(Subject...