- 浏览: 1436911 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (409)
- Java (48)
- Spring (29)
- struts2 (17)
- hibernate (4)
- 设计模式 (24)
- jbpm (1)
- JavaScript (5)
- 统计报表 (7)
- ExtJS_3.0 (35)
- struts1 (1)
- 分析设计 (3)
- Flex3 (24)
- UML (2)
- 数据库 (18)
- PowerDesigner (2)
- 应用服务器 (3)
- WebService (5)
- ActiveMQ_5.3.2 (6)
- Java通信技术 (11)
- GWT (6)
- OSGi (15)
- android (11)
- liferay6.0.6 (13)
- jquery (13)
- Linux (3)
- java.util.concurrent (16)
- guava (9)
- 开发模式 (1)
- 大数据 (2)
- 互联网金融 (4)
- treegrid-3.0 (7)
- 分布式 (8)
- GO语言 (4)
- maven (1)
- 缓存技术 (6)
- 其他 (2)
- 前端页面 (1)
- heasy (1)
- spring cloud(F版) (21)
- springboot (12)
- springmvc (5)
- mybatis (3)
- dubbo (1)
- 物联网 (0)
最新评论
-
raymond.chen:
谢谢您的分享
使用Ngrok解决通过外网访问内网web应用 -
wangyudong:
速度有点慢,不过在也找到了一个开源的holer,配置一个key ...
使用Ngrok解决通过外网访问内网web应用 -
a1006458222:
...
Axis2的部署和应用 -
偷师来了:
不好意思 这样的博客我觉得就灭有必要分享出来了 命令大家都会看 ...
Consul框架介绍 -
lliiqiang:
怎么直接删除文件夹啊?固定的几个文件可以删除,不固定的呢?需要 ...
Flex AIR —— 文件读写
一、概念
定义对象间的一种一对多依赖关系,使得每当一个对象改变状态,则其相关依赖对象皆得到通知并被自动更新。
二、UML类图
三、类源码
1、类Human的源码
public class Human implements Observer { private String username = ""; public String getUsername() { return username; } public Human(){ } public Human(String username){ this.username = username; } //当被观察者通知到观察者时,观察者作出的处理 public void update(Observable o, Object arg) { InvalidMan m = (InvalidMan)o; int state = m.getState(); System.out.println("通知 " + username + " ,当前被观察者的状态:" + arg); } }
2、类InvalidMan的源码
public class InvalidMan extends Observable { public final static int STATE_DEAD = -1; //死亡 public final static int STATE_BAD = 0; //生病 public final static int STATE_FINE = 1; //康复 private int state; public InvalidMan(){ super(); } public InvalidMan(int state){ super(); this.state = state; } public int getState() { return state; } public void changeState(int newState){ if(this.state != newState){ this.state = newState; //标识状态有变化 this.setChanged(); //通知观察者 if(newState == STATE_BAD){ this.notifyObservers("生病"); }else if(newState == STATE_DEAD){ this.notifyObservers("死亡"); }else if(newState == STATE_FINE){ this.notifyObservers("康复"); } } } }
3、测试代码
public class Test { public static void main(String[] args) { //被观察者实例 InvalidMan m = new InvalidMan(InvalidMan.STATE_BAD); //观察者 Observer o1 = new Human("医生"); Observer o3 = new Human("护士"); Observer o2 = new Human("家人"); //将观察者绑定到被观察者 m.addObserver(o1); m.addObserver(o2); m.addObserver(o3); //改变被观察者的状态 m.changeState(InvalidMan.STATE_DEAD); m.changeState(InvalidMan.STATE_BAD); m.changeState(InvalidMan.STATE_FINE); } }
发表评论
-
设计模式概述
2015-10-11 00:17 876设计模式(Design pattern ... -
备忘录模式(Memento Pattern)
2010-04-10 22:58 1390在不破坏封装的前提下,捕获并且保持一个对象的内部状态,这样可以 ... -
中介者模式(Mediator Pattern)
2010-04-10 17:45 2040定义一个对象封装一系列的对象交互,使得对象之间不需要显式地相互 ... -
迭代器模式(Iterator Pattern)
2010-04-01 21:36 2413提供一种方法访问一个容器(container)对象中各个元素, ... -
解析器模式范例:阿拉伯数字金额转为中文数字金额
2010-03-31 20:27 1830表达式抽象类: public abstract class ... -
解析器模式(Interpreter Pattern)
2010-03-30 21:29 2029定义语言的文法,并且建立一个解释器来解释该语言中的句子。 ... -
命令模式(Command Pattern)
2010-03-29 21:34 1685命令模式本质是对命令的封装,从而把发出命令的责任和执行命令的责 ... -
责任链模式(Chain of Responsibility Pattern)
2010-03-28 11:28 1502责任链是用一系列类试图处理一个请求,这些类之间是一个松散的耦合 ... -
代理模式(Proxy Pattern)
2010-03-26 22:27 1518为其他对象提供一种 ... -
轻量级模式(Flyweight Pattern)
2010-03-25 23:47 1982轻量级模式实现对象的共享,从而减少内存分配的开销。该模式通常和 ... -
外观模式(Facade Pattern)
2010-03-25 22:39 1416外观模式,为子系统的一组接口提供一个统一的界面,此模式定义了 ... -
装饰模式(Decorator Pattern)
2010-01-28 23:50 2867动态给一个对象添加一些额外的职责。使用Decorator模式相 ... -
组合模式(Composite Pattern)
2010-01-26 22:22 4947组合模式主要是应对这样的问题:一类具有“容器特征”的对象 —— ... -
建造者模式(Builder Pattern)
2010-01-24 22:11 1395将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创 ... -
状态模式(State Pattern)
2010-01-11 20:29 1461一、状态模式需要两种类型实体参与: 1、状态管理器 ... -
桥接模式(Bridge Pattern)
2009-05-05 09:29 1383将抽象部分与实现部分分离,使得它们两部分可以独立地变化。 ... -
适配器模式(Adapter Pattern)
2009-04-10 13:08 1473将一个接口转换成为客户想要的另一个接口,适配器模式使接口不兼容 ... -
访问者模式(Visitor Pattern)
2009-03-23 16:21 1690一、概念 在不修改已有程序结构的前提下,通过添 ... -
策略模式(Strategy Pattern)
2009-03-18 15:21 1454策略模式的本质:少用继承,多用组合。 策略模式属于对象的行 ... -
设计模式应用范例(一):上行短信管理器
2009-03-17 18:19 2380Spring AOP的应用:在处理业务短信之前,可以 ...
相关推荐
Swift µframework 实现观察者模式Observer pattern
"ObserverPattern(订阅模式)3.zip"中的代码可能进一步阐述了观察者模式,这里的“订阅”一词可能意味着用户可以订阅特定的主题,只有当这些主题的状态改变时,用户才会收到通知。这与传统的观察者模式类似,但更加...
我们说学习Java应该从Swing开始,那么学习Swing最重要的思想就是对于观察者模式的理解(Observer Pattern)。因为,该设计模式在Java Swing框架中贯穿了始终。对于C#的委托、代理概念所使用的Callback(回调模式--...
1、策略模式STRATEGY PATTERN ...16、观察者模式OBSERVER PATTERN 17、责任链模式 18、访问者模式VISITOR PATTERN 19、状态模式 20、原型模式 21、中介者模式 22、解释器模式 23、亨元模式 24、备忘录模式
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式常用于实现事件驱动编程或者...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,属于对象交互模式。它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于...
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式常用于实现事件驱动的系统或者...
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式在软件开发中广泛应用于事件驱动...
从生活中的例子可以看出,只要对订阅号... 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己的行为。
**C#面向对象设计模式纵横谈(19)**:**观察者模式**(Observer Pattern)是行为型模式的一种,它在软件工程中扮演着至关重要的角色。观察者模式是一种设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态...
观察者模式(Observer Pattern)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态改变时通知多个“观察”该对象的其他对象。在Java中,我们可以利用Java的内置接口`java.util.Observer`和`java.util....
观察者模式(Observer Pattern)是一种对象行为型设计模式,它定义了对象之间的一对多依赖关系。 当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式通常用于实现分布式事件处理系统...
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式常用于实现事件驱动的编程模型...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动编程或者...
观察者模式(Observer Pattern)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态改变时通知多个“观察”该对象的其他对象。在软件工程中,这常用于实现事件驱动编程,使得系统能够及时响应变化。 在...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现发布-订阅...
观察者模式(Observer Pattern)是软件设计模式的一种,属于行为型模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Java中,观察者模式主要通过...
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式常用于实现事件驱动的编程模型...
观察者模式(Observer Pattern)是软件设计模式中的行为模式之一,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动或发布-...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动或者发布...