这两个模式实质上很简单,在实际项目中也是非常常用的。但却被有些人说的云里雾里,这里用白话解释一下。
本质上两者都是同一个模式。专业的说法是这样的(觉得绕口的请直接转到白话解释部分,再回头来看下面这几句话就好懂了):
监听器模式:事件源经过事件的封装传给监听器,当事件源触发事件后,监听器接收到事件对象可以执行监听器要实现的业务功能,也可以回调事件源的方法。
观察者模式:观察者(Observer)相当于事件监听者,被观察者(Observable)相当于事件源和事件,执行逻辑时通知触发observer的通知方法,将要处理的数据做为参数传递给观察者。
用白话解释一下:
1、事件源(被观察者):触发事件的类。在事件源中有一个集合,存放了一系列的监听器(观察者,为了解耦,必须是接口)。
2、监听器(观察者):实现了监听器接口的实现类。要做的事在接口方法中实现。
3、触发(通知):循环调用集合中的接口类的方法。此时会将要处理的数据、包括事件源自身一起封装到Event中,交给接口实现类(即监听器、观察者)进行处理。
举个败家子的例子:败家子(事件源、被观察者)没钱了,对者捧着败家子的一坨人(监听器、观察者)吼道:哥没钱了,拿钱来!!!
于是,爷爷、爸爸、妈妈这些只知道哄着败家子的一坨人(监听器集合)各自调用自己的方法忙开了(有的拿存折,有的卖家产)。
OK,两个模式说完了。
相关推荐
Java设计模式中的观察者模式(Observer Pattern)是一种对象行为型模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式常用于事件处理和实时...
### Java设计模式详解 #### 创建型模式 **1.1 工厂方法(Factory Method)** 工厂方法模式定义了一个创建对象的接口,但允许子类决定实例化哪一个类。这使得一个类的实例化可以被推迟到其子类。这种模式在以下...
例如,当用户在网页上点击按钮时,按钮作为被观察者,会触发一系列事件,这些事件的监听器(观察者)会接收到通知并执行相应的操作,如弹出对话框、刷新页面等。 6. **优缺点**:优点是实现了对象间的抽象耦合,...
Java中的监听机制与观察者设计模式是编程中重要的概念,它们在软件开发中扮演着关键的角色,尤其是在构建可扩展和可维护的系统时。这里,我们将深入探讨这两个主题,并通过实例来阐述它们的工作原理和应用。 首先,...
在Java中,我们可以利用Java提供的内置监听器机制来实现观察者模式,例如`ApplicationListener`和`ApplicationEvent`,这两个类主要用于Swing或JavaFX应用程序中的事件处理。 首先,我们来看`ApplicationListener`...
**观察者模式(Observer Pattern)**是软件设计模式中的一种行为模式,它在Java中有着广泛的应用。这个模式的核心思想是“一对多”的依赖关系,即一个主题对象(Subject)可以被多个观察者(Observer)关注,当主题...
以上就是Java设计模式的一些基本概念和应用,理解并熟练掌握这些模式对于编写高质量、易于维护的Java代码至关重要。通过阅读《设计模式——Java语言中的应用》这本书,你可以更深入地学习和掌握这些模式的细节及其在...
例如,在Web开发中,可以使用观察者模式处理用户交互事件,当用户触发某个操作时,相关的监听器(观察者)会得到通知并执行相应的逻辑。 总的来说,HeadFirst设计模式的学习笔记2关于观察者模式的演示,旨在帮助...
在很多场景下,观察者模式用于实现事件监听和事件处理机制。 6. 里氏代换原则(Liskov Substitution Principle)和迪米特法则(Law of Demeter): 里氏代换原则是面向对象设计原则之一,它指出在软件中,如果类S是...
观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动的编程...
Java设计模式是软件工程中的一种最佳实践,它提供了一套标准的解决方案,用来解决在软件设计过程中经常遇到的问题。设计模式并非具体的代码或库,而是经验丰富的开发者在长期实践中总结出的常见问题的通用解决方案。...
根据提供的文件信息,本书《设计模式 For Dummies》是一本介绍设计模式的通俗易懂的指南,适合初学者以及希望深入了解面向对象编程中设计模式应用的开发者。下面将基于此书的内容来概述几种常见的设计模式及其应用...
而观察者模式则用于实现事件驱动的系统,使得多个对象可以监听并响应同一事件。 通过这个配套光盘,你不仅可以学习到设计模式的理论知识,还能通过实践加深理解。它可以帮助你构建更加优雅、灵活的软件系统,减少...
本文将深入分析观察者模式的组成部分和应用场景,并探讨Java事件处理机制的原理,以及事件源、事件、监听器与观察者设计模式中各角色的对应关系。 观察者模式的组成部分包括被观察者(Subject)和观察者(Observer...
比如,可能会有使用观察者模式实现事件监听的例子,或者使用策略模式处理不同策略的场景。 学习Java设计模式,不仅可以提高编程能力,还能增强对软件设计原则的理解,如开闭原则(对扩展开放,对修改关闭)、依赖...
观察者设计模式是软件开发中的一种常见模式,它在Java中得到了很好的支持。该模式定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Java中,这个模式通常...
Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的经验总结和最佳实践。这个开源项目"Java 设计模式.zip"显然是一个Java编程语言实现的设计模式集合,旨在帮助开发者理解和应用这些模式。...
Java的23种设计模式是软件工程中非常重要的概念,它们是解决常见编程问题的成熟解决方案,被广泛应用于各种复杂的软件开发中。设计模式不是具体的代码或库,而是一种通用的、可重用的设计方案,它描述了在特定上下文...
在编程领域,观察者模式(Observer Pattern)和事件委托(Event Delegation)是两种常见的设计模式,它们在处理对象间的交互和通信时起到关键作用。本文将深入探讨这两种模式的概念、工作原理及其在Java中的应用。 ...
Java中的监听器机制是基于观察者模式的设计模式之一,广泛应用于图形用户界面(GUI)应用程序中。 #### 二、监听器的基本组成部分 监听器通常包括以下几个部分: 1. **事件源(Event Source)**:触发事件的对象,如...