`

设计模式快速参考-观察者模式

阅读更多
//主题,这里是快餐店
class SnackShop{
   private List<Customer> customers = new Arraylist();
   public void add(Customer customer){
      customers.add(customer);
   }
   //通知,对订阅主题的客户发布通知,比如“外卖已好”
   public void notify(){
      for(Customer c: customers){
         c.getFood();
      }
   }
}

//订阅者,这里是客户
class Customer{
   Customer (SnackShop shop){
      //将客户加入到快餐店列表
      shop.add(this);
   }
   //回调函数,当接到通知后,客户的动作
   public void getFood(){
      //取得外卖
   }
}
 


Client:

 

SnackShop snackShop = new SnackShop();
Customer zhangSan = new Customer(snackShop);
snackShop.notify();
 


分享到:
评论
2 楼 gurudk 2008-12-16  
见仁见智,也可以单独的subscribe方法。
1 楼 jxva 2008-12-16  

Customer (SnackShop shop){ 
       //将客户加入到快餐店列表 
       shop.add(this); 

这段语句不适合.

相关推荐

    《Java设计模式》课后答案-刘伟.rar

    观察者模式则实现了定义对象之间的一对多依赖关系,当一个对象的状态改变时,所有依赖于它的对象都会得到通知并自动更新。 刘伟老师的《Java设计模式》课后答案PDF文件,包含了对书中各章节练习题的详细解答,这...

    观察者模式

    观察者设计模式观察者模式(有时又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时...

    设计模式精解-GoF 23种设计模式解析附C++实现源码 完整版

    - 观察者模式:定义对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。 - 状态模式:允许对象在其内部状态改变时改变其行为,看起来像是改变了其类。 - 策略...

    【资源免费下载】Java代码积累丨大话设计模式(Java实现版本)、线程协作

    设计模式参考《大话设计模式》 工厂简单模式 创造型模式 工厂方法模式 抽象工厂模式 原型模式 建造者模式 单例模式 结构型模式 队列模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 行为模式(类行为...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    Java设计模式是软件工程中的一种最佳实践,它总结了在特定场景下解决常见问题的经验,为程序员提供了可重用的解决方案。...这个压缩包中的资料将是一个宝贵的参考资料,帮助读者巩固设计模式的理论知识并将其付诸实践。

    JavaScript 设计模式(高清扫描版本)- 张容铭

    JavaScript设计模式是由张容铭编著的一本关于JavaScript编程领域的重要参考书籍,主要探讨了如何在JavaScript编程中应用设计模式来提升代码质量和可维护性。设计模式是软件工程中的最佳实践,它们是针对常见问题的...

    用观察者模式和非观察者模式设计一个交通信号灯调度系统

    用观察者模式设计一个交通信号灯调度系统,有需要的朋友可以参考下。这是本人写一篇有关于Java中设计模式,多线程调度的一个Demo吧,本人水平有限,望各位博友批评指正。此Demo实现了现实交通信号灯调度车辆通行的功能,...

    C#经典设计模式及代码示例

    3. 行为型模式:这类模式关注对象之间的交互和责任分配,包括策略模式(Strategy)、观察者模式(Observer)、命令模式(Command)和迭代器模式(Iterator)。例如,策略模式允许在运行时选择算法,提供更大的灵活性...

    设计模式代码-仅供参考

    - 观察者模式(Observer):当对象的状态改变时,所有依赖于它的对象都会得到通知并自动更新。 - 状态模式(State):允许对象在其内部状态改变时改变它的行为。 - 策略模式(Strategy):定义一系列算法,并将每...

    (行为型模式) Observer 观察者模式

    观察者模式是一种行为设计模式,它定义了一种一对多的关系,让多个观察对象同时监听某一个主题对象。当主题对象发生变化时,所有观察者对象都会收到通知并进行相应的处理。这种模式的核心在于解耦目标对象和观察者...

    软件设计模式--关于设计模式的PPT

    常见的设计模式可以分为三大类:创建型模式(如单例模式、工厂方法模式)、结构型模式(如适配器模式、装饰器模式)和行为型模式(如观察者模式、策略模式)。每种模式都有其特定的应用场景和解决策略,熟悉这些模式...

    设计模式期末试题下载

    包括策略模式、模板方法模式、观察者模式、命令模式、迭代子模式、访问者模式、中介者模式、备忘录模式、解释器模式、职责链模式、状态模式。 ### 具体设计模式介绍 1. **工厂方法模式**:提供了一个创建对象的...

    《Java设计模式》刘伟 课后习题及模拟试题答案.rar

    课后习题参考答案部分涵盖了书中各个章节的关键知识点,包括创建型模式(如单例模式、工厂方法模式、抽象工厂模式)、结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)...

    GOF-设计模式-Design Patterns-英文原版-高清-有目录-有页码

    - **观察者**(Observer):定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 - **状态**(State):允许一个对象在其内部状态改变时改变它的行为。 - **...

    《Java设计模式》模拟试题参考答案及评分标准-刘伟(20180723).pdf

    观察者模式 - **定义**: 定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。 - **结构图** 显示了主题 (`Subject`) 和观察者 (`Observer`) 之间的...

    浪潮软件技术培训之设计模式(ppt-21页).ppt

    设计模式的种类繁多,通常分为三类:创建型模式(如工厂模式、单例模式)、结构型模式(如适配器模式、装饰器模式)和行为型模式(如策略模式、观察者模式)。每种模式都有其特定的应用场景和优点。 例如,工厂模式...

Global site tag (gtag.js) - Google Analytics