下载 23种设计模式源码 :http://download.csdn.net/download/knight_black_bob/8936043
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
创建型模式,共五种:
工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模式
结构型模式,共七种:
适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 享元模式
行为型模式,共十一种:
策略模式 模板方法模式 观察者模式 迭代子模式 责任链模式 命令模式
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package 设计模式.观察者模式; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:33:22 * des: */ public interface Watcher { public void update(String str); }
package 设计模式.观察者模式; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:33:33 * des: */ public interface Watched { public void addWatcher(Watcher watcher); public void removeWatcher(Watcher watcher); public void notifyWatchers(String str); }
package 设计模式.观察者模式; import java.util.ArrayList; import java.util.List; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:34:58 * des: */ public class ConcreteWatched implements Watched{ private List<Watcher> list = new ArrayList<Watcher>(); @Override public void addWatcher(Watcher watcher) { list.add(watcher); } @Override public void removeWatcher(Watcher watcher) { list.remove(watcher); } @Override public void notifyWatchers(String str) { for (Watcher watcher : list) { watcher.update(str); } } }
package 设计模式.观察者模式; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:34:33 * des: */ public class ConcreteWatcher implements Watcher { @Override public void update(String str) { System.out.println(str); } }
package 设计模式.观察者模式; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:28:36 * des: */ public class ObserverTest { public static void main(String[] args) { Watched weather = new ConcreteWatched(); Watcher observer1 = new ConcreteWatcher(); Watcher observer2 = new ConcreteWatcher(); Watcher observer3 = new ConcreteWatcher(); weather.addWatcher(observer1); weather.addWatcher(observer2); weather.addWatcher(observer3); weather.notifyWatchers("大风暴 要来了,船员们站好自己的岗位"); } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
观察者模式是软件设计模式中的一种行为模式,它在对象之间定义了一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式广泛应用于事件驱动编程、发布/订阅系统...
观察者模式(Observer Pattern)是一种软件设计模式,属于行为型模式之一。它定义了对象间的一种一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式可以有效地实现...
**观察者模式(Observer Pattern)**是软件设计模式中的一种行为模式,它在Java中有着广泛的应用。这个模式的核心思想是“一对多”的依赖关系,即一个主题对象(Subject)可以被多个观察者(Observer)关注,当主题...
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式在软件开发中广泛应用于事件驱动...
### 设计模式之观察者模式详解 #### 一、观察者模式概述 观察者模式(Observer Pattern)是一种常用的行为设计模式,它允许对象之间建立一种一对多的关系,即多个对象可以监听一个对象的状态变化,当这个对象的...
期末复习资料“软件设计模式之观察者模式(复习5)代码”很可能包含了关于观察者模式的详细讲解,以及相关的代码示例,帮助学生巩固理解。 观察者模式主要由两个关键角色构成:主题(Subject)和观察者(Observer)...
观察者模式(Observer Pattern)是软件设计模式中的行为模式之一,它在Android开发中有着广泛的应用。该模式的主要目的是定义对象之间的一种一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会...
**Java设计模式之观察者模式详解** 在软件工程中,设计模式是一种被广泛接受的解决常见问题的方法。观察者模式(Observer Pattern)是行为设计模式的一种,它定义了对象之间的一对多依赖关系,当一个对象的状态发生...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于事件驱动的系统或者...
观察者模式(Observer)是软件设计模式中的一种行为模式,其主要目的是在对象之间建立一种松散耦合的关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式广泛应用于事件驱动...
本篇文章将深入探讨Qt中的观察者模式(Observer Pattern),这是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 观察者模式的核心...
观察者模式,也被称为发布-订阅模式或事件驱动模式,是软件设计模式中的一种行为模式。这个模式的主要目的是在对象之间建立一种松散耦合的关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并...