scene:michael and cavin in char room,they can got common messages from manager.
code:
first we need a manager,
package observer;
import java.util.Observable;
/**
* char room manager.
* @author michael
*/
public class CharRoomManage extends Observable {
private String gonggao;
public String getGonggao() {
return gonggao;
}
public void setGonggao(String gonggao) {
this.gonggao = gonggao;
setChanged();
notifyObservers(gonggao);
}
}
this manager class can create a manager to send common messages.
second we need the observe persons,
package observer;
import java.util.Observable;
import java.util.Observer;
/**
* CharPerson,to create chat Person.
* @author michael
*/
public class ChatPerson implements Observer {
private String gonggao;
private String chatPersonName;
public ChatPerson(String chatPersonName) {
this.chatPersonName=chatPersonName;
}
public void update(Observable o, Object arg) {
if(arg instanceof String){
gonggao=(String)arg;
System.out.println(chatPersonName+"收到站内消息: "+gonggao);
}
}
}
this class can create as many chat room users as we want.
finally we use a main method for test,
package observer;
public class TestMain {
public static void main(String[] args) {
//craete a chat room manage
CharRoomManage manager = new CharRoomManage();
//create two person,those will be observe
ChatPerson mihcael=new ChatPerson("michael");
ChatPerson cavin=new ChatPerson("cavin");
//create relation
manager.addObserver(mihcael);
manager.addObserver(cavin);
//send commons messages
manager.setGonggao("请不要乱发消息");
}
}
run this the result is:
cavin收到站内消息: 请不要乱发消息
michael收到站内消息: 请不要乱发消息
分享到:
相关推荐
"Content Observer Demo 源代码" 是一个关于Android开发的示例项目,它演示了如何使用ContentObserver类来监听系统中的数据变化,特别是与短信(SMS)相关的数据变化。在这个项目中,开发者可以学习到如何实时监控...
在Android开发中,Observer模式是一种常见的设计模式,用于实现对象之间的通信和状态更新。Observer模式的核心思想是"一对多"的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。...
在Android中,观察者模式的主要实现方式是通过`java.util.Observable`和`java.util.Observer`接口,以及Android框架提供的`BroadcastReceiver`、`LiveData`、`ViewModel`等类。下面我们将详细探讨这些内容。 1. `...
在这个"observer-pattern-demo"的示例中,我们将深入探讨观察者模式的原理、结构和应用场景。 **1. 模式定义** 观察者模式定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会...
在`Demo16_Observer`这个示例中,我们可能会看到如下实现: 1. `Subject`类:定义了添加、删除观察者的方法,以及一个通知所有观察者的方法,例如`notify()`。 2. `ConcreteSubject`类:继承自`Subject`,实现具体...
观察者模式详解 观察者模式是23种设计模式中的一种,尤其是在软件设计过程中体现的更是立足无穷。本文将详细讲解观察者模式的概念和实现,通过代码注释来解释各个组件的作用。 一、观察者模式的定义 ...
通过这个简单的Demo,你可以了解如何在Android项目中使用RxJava2创建Observable、创建Observer以及进行订阅操作。这只是RxJava2庞大功能的冰山一角,深入学习和实践,你将能够更高效地处理异步任务和事件,构建出更...
在这个“观察者模式Demo”中,我们将深入探讨观察者模式的概念、结构、实现方式以及其在实际应用中的价值。 观察者模式的核心思想是发布-订阅模型,分为两个主要角色:主题(Subject)和观察者(Observer)。主题是...
5. **观察者模式(Observer)**:定义了对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。在Demo中,可能包含事件监听和发布事件的实现。 6. **装饰器模式...
在这个"观察者模式demo"中,可能有一个具体的主题类,比如`WeatherStation`,它记录天气数据并通知所有注册的观察者(比如`TemperatureDisplay`, `HumidityDisplay`等)更新显示。观察者则根据接收到的天气数据更新...
**RxJava 源码分析及手写 Demo 示例** RxJava 是一个用于处理异步数据流的库,它引入了反应式编程的概念,使得在 Android 和 Java 开发中管理事件和数据流变得更加容易。这个“RxJava Demo 手写源码 demo 示例”...
public function attach(Observer $observer) { $this->observers[] = $observer; } public function detach(Observer $observer) { foreach ($this->observers as $key => $o) { if ($o === $observer) { ...
通常,这个Demo会包含一个可观察的对象(Observable)和多个观察者(Observer),当可观察对象的状态发生变化时,会触发通知机制,使得观察者接收到这一变化并作出相应的响应。 描述中提到,这个Demo将使用Java自带...
其核心概念包括`Observable`(可观察者)、`Observer`(观察者)、各种操作符(如map、filter、concatMap等)以及线程控制策略。 **Retrofit** Retrofit是Square公司开发的一个针对网络请求的Java库,它允许开发者通过...
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它在Android开发中扮演着重要的角色,主要用于实现对象之间的解耦。在这个“观察者模式for android demo”中,我们将深入探讨如何在Android环境中应用该...
3. **Subscribe(订阅)**:连接Observable和Observer,当Observable有新数据时,就会通知Observer。 4. **Operators(操作符)**:RxJava提供了丰富的操作符,用于对数据流进行转换、过滤、合并等操作。 **RxJava...
6. **代码实现**:在实际的代码中,"notification Demo"可能会使用某种编程语言的内置通知库(如Objective-C的NSNotification,Java的Observer/Observable,或者自定义的事件总线系统)。代码示例通常会展示如何创建...
在“观察者模式的一个demo”中,我们可以期待看到以下几个关键组成部分: 1. **主题(Subject)**:主题是被观察的对象,它可以是任何类型的数据或状态。在Java中,通常是一个实现了`java.util.Observable`接口的类...
行为型设计模式主要处理对象之间的责任分配,如观察者模式(Observer)让多个对象可以订阅并响应某个主题的状态变化,策略模式(Strategy)允许在运行时选择不同的算法或策略,还有职责链模式(Chain of ...
本资源“设计模式学习使用的简单Demo”提供了一系列的示例代码,旨在帮助开发者更好地理解和应用这些模式。以下是对其中包含的设计模式及其Java反射机制的详细说明: 1. **适配器模式**(Adapter Pattern):适配器...