`
lilin530
  • 浏览: 90941 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

监听器模式

阅读更多

描述:监听器模式是对某种共有操作的监控。当此操作执行时对此操作作相应处理。

包含的元素:

1. 要监控的事件定义

2. 监控该事件的监听器

3. 要监控的事件操作

4. 监控者

元素的职责:

1.定义了要监控事件的时间类型定义,和其它和该事件相关的特殊定义

2.监听器,用于对事件发生后要执行操作的接口定义

3.要监控的事件、操作,对于要监控的事件,他必须要包含被监控事件的注册功能

4.监控者要实现要监控的事件接口,完成时间发生后的操作内容

 

实例:下面做一个简单的例子

例子描述: 

比如论坛里要展示某个发贴用户的发帖总数,当用户没发一次贴,总数就加1。 我们要做的就是每当用户发一次贴的时候再展示页面展示出用户最新的发帖总数。

 

实战:

1. 事件定义

 

Java代码 复制代码 收藏代码
  1. package com.amdocs.log;   
  2.   
  3. public interface IDomainEvent {   
  4.     /** 定义事件类型 */  
  5.     public static final String CREATE_MESSAGE = "CREATE_MESSAGE";   
  6.     public static final String DELETE_MESSAGE = "DELETE_MESSAGE";   
  7.   
  8.     public String getEventType();   
  9. }  

 /**

 2. 事件监听器定义

 

Java代码 复制代码 收藏代码
  1. package com.amdocs.log;   
  2. /**  
  3.  *   
  4.  * 监听器接口  
  5.  *   
  6.  * */  
  7. public interface IDomainListener {   
  8.     public void actionPerformed(IDomainEvent event);   
  9. }  

 3. 要监听操作的事件注册方法添加

 

Java代码 复制代码 收藏代码
  1. package com.amdocs.log;   
  2.   
  3. /**  
  4.  *   
  5.  * 利用监听器,监听创建消息操作  
  6.  *   
  7.  */  
  8. public class CreateMessageDomain {   
  9.   
  10.     private IDomainListener listener;   
  11.   
  12.     // 监听器注册   
  13.     // 要让一个被监控的操作要具备能力,他必须支持对此监听器的注册,著有注册了此监听器,他相应的操作才可以被 事件触发者调用到   
  14.        
  15.     public void addDomainListener(IDomainListener listener) {   
  16.         this.listener = listener;   
  17.     }   
  18.   
  19.     public void createMessage(String str) {   
  20.         System.out.println("开始创建消息,消息是" + str);   
  21.         messageCountPlus();   
  22.         System.out.println("消息创建完成,总数加1完成");   
  23.     }   
  24.   
  25.     /** 时间发生后要执行的操作 */  
  26.     public void messageCountPlus() {   
  27.         this.listener.actionPerformed(new CreateMessageDomainEvent());   
  28.     }   
  29.   
  30. }  

4.监控的事件

Java代码 复制代码 收藏代码

 

1.    package com.amdocs.log;

2.    public classCreateMessageDomainEvent implements IDomainEvent{

3.                public String getEventType() {
4.                  return IDomainEvent.CREATE_MESSAGE;
5.              }

6.  }

 

5. 监控者

Java代码 复制代码 收藏代码
  1. package com.amdocs.log;   
  2.   
  3.   
  4. /**  
  5.  *   
  6.  * 监听器模式的必要性  
  7.  * 1. 对共同的事件操作进行抽象  
  8.  * 2. 对同一操作进行统一执行  
  9.  *   
  10.  * */  
  11.   
  12. public class CreateMesaageWebPage implements IDomainListener {   
  13.   
  14.     /**  
  15.      *   
  16.      * 创建消息的调用页面 必须实现监听器接口,來實現要被監控操作發生后的事件執行。  
  17.      *   
  18.      */  
  19.     public void actionPerformed(IDomainEvent event) {   
  20.         if (event.getEventType().equals(IDomainEvent.CREATE_MESSAGE)) {   
  21.             System.out.println("创建消息事件被触发--執行将消息总数加1操作");   
  22.         }   
  23.     }   
  24.   
  25.     /**  
  26.      * @param args  
  27.      */  
  28.     public static void main(String[] args) {   
  29.         /** 开始调用操作创建消息 */  
  30.         CreateMessageDomain domain = new CreateMessageDomain();   
  31.         /** 注册监听器 */  
  32.         domain.addDomainListener(new CreateMesaageWebPage());// 监听创建消息操作的 创建消息页面   
  33.            
  34.         domain.createMessage("Hello 监听器模式");// 执行要监控的操作   
  35.   
  36.     }   
  37.   
  38. }  

6. 执行结果

 

Java代码 复制代码 收藏代码
  1. 开始创建消息,消息是Hello 监听器模式   
  2. 创建消息事件被触发--執行将消息总数加1操作   
  3. 消息创建完成,总数加1完成  
分享到:
评论

相关推荐

    Java设计模式之监听器模式实例详解

    在监听器模式中,主要包含三个要素:事件源、事件对象和监听器。 事件源是产生事件的对象。在用户界面编程中,事件源通常是用户交互的对象,如按钮、菜单、窗口等;在业务逻辑中,事件源可能是业务对象的某些特定...

    监听器模式(生产消费模型)

    1. **监听器接口**:定义事件处理的接口,通常包括一个或多个处理特定事件的方法。 2. **事件发布者**:维护监听者列表,负责在事件发生时通知所有的监听者。它通常会有一个添加监听者和移除监听者的方法。 3. **...

    基于SpringBoot为基础做的Binlog,MQ数据适配,解析,校验,托管,异常捕获,为使用者提供监听器模式和责任链模式

    为了更好的 完善,提升,B/S架构系统的性能和实用性,系统...MQ数据适配,解析,校验,托管,异常捕获,为使用者提供两种方案,监听器模式和责任链模式并提供出 crud接口 使用者只需要按自己的需求同步到其它容器中即可

    java监听器的实现和原理详解

    Java监听器的实现和原理详解 Java监听器是一种非常重要的设计模式,在Java中广泛应用于事件驱动编程。监听器模式的主要思想是将事件源和事件处理器分离,使得事件源可以独立于事件处理器,提高了系统的灵活性和可...

    设计模式入门——胡老师的监听器模式

    NULL 博文链接:https://coco-young.iteye.com/blog/1275485

    基于 RBAC与监听器机制设计作业管理软件

    ### 基于RBAC与监听器机制设计作业管理软件 #### 一、项目背景与目标 本项目旨在设计一款适用于教育场景中的作业管理系统,利用角色基础的访问控制(Role-Based Access Control,简称RBAC)及监听器机制来实现安全...

    监听器源代码.zip

    5. **事件驱动架构**: 监听器模式是事件驱动架构的基础,这种架构在分布式系统、消息队列(MQ)和实时数据流处理中很常见。通过监听特定事件,服务可以响应并执行相应的业务逻辑。 6. **Spring框架中的监听器**: ...

    监听者模式练习(包括jdk api的实现和自定义实现)

    在Java中,JDK提供了内置的监听器接口和类来支持这种模式。本练习将深入探讨如何使用JDK API实现监听者模式以及自定义实现这一模式。 首先,我们要理解JDK API中的观察者模式实现。`java.util.Observable`类代表可...

    北京动力节点-专题05-监听器.pdf

    监听器是JavaWeb开发中的一个重要概念,它是一种设计模式的具体实现,主要用于实现Web组件(如Servlet、JSP等)的生命周期事件...在实际开发中,熟悉并掌握监听器模式将帮助开发者更加有效地管理Web应用中的动态变化。

    监听器的练习和学习笔记,代码

    此外,事件驱动编程是监听器模式的核心,这种编程范式让程序能够异步处理事件,提高了系统的响应性和效率。在GUI应用中,如Swing或JavaFX,监听器用于捕获用户与界面组件的交互,如键盘输入、鼠标点击等。 总的来说...

    在聊天室中用监听器.rar

    【标题】:“在聊天室中用监听器” 聊天室中的监听器是一种常见的编程技术,用于实时获取和处理用户交互的数据。在本示例中,“在聊天室中用监听器.rar”可能包含了一个或多个文件,这些文件展示了如何在聊天室应用...

    Java监听器

    ### Java监听器详解 在Java编程语言中,监听器(Listener)是一种常用的设计模式,用于实现事件处理机制。本文将围绕“Java监听器”的概念、原理及其应用进行深入探讨。 #### 一、Java监听器的基本概念 监听器是...

    java事件监听模式实现万能事件总线.zip

    Java简单几个类实现万能事件总线,采用享元模式和监听器模式。 使用方法很简单,直接EventCenter.get().addListener(key,()->{...你的代码快...});就行, 无论在哪,只要执行EventCenter.get().sendMessage(key,...

    配置Oracle监听器

    Oracle监听器是Oracle数据库系统的重要组成部分,它负责管理和控制数据库实例与客户端应用程序之间的网络通信。在Oracle数据库环境中,监听器是运行在服务器端的一个后台进程,它的主要职责是监听来自客户端的连接...

    java一个监听器的例子

    在实际应用中,监听器经常与其他设计模式结合使用,如观察者模式(Observer),提供更灵活的事件处理方式。通过熟练掌握Java监听器机制,开发者可以创建更加响应用户输入的、交互性强的应用程序。 在提供的压缩包...

    监听器.zip

    Java中的事件模型基于观察者模式,即一个对象(事件源)发生特定事件时,会通知注册在其上的其他对象(监听器)。这种设计模式促进了代码的解耦,增强了程序的灵活性。 2. **AWT和Swing监听器**: 在Java GUI编程...

    oracle监听器深入讲解

    "Oracle 监听器深入讲解" Oracle 监听器是 Oracle 数据库的核心组件之一,负责管理 Oracle 数据库和客户端之间的通讯。下面是 Oracle 监听器的详细知识点: 1. Oracle 监听器概念 Oracle 监听器是一个独立的操作...

    【动力节点】Javaweb开发视频教程之监听器

    教程名称: 【动力节点】Javaweb开发视频教程之监听器 动力节点推出的Java视频教程包含两大部分内容:第一部分为监听器相关设计模式的详解。其中包括观察者设计模式、监听器设计模式。第二部分为监听器用法。详细...

    java监听者模式

    事件源和监听器之间通过接口进行交互,事件源定义了添加和移除监听器的方法,而监听器接口定义了事件处理方法。 例如,对于一个按钮,我们可能有以下类和接口: 1. `Button` 类:这是一个事件源,它会触发点击事件...

    java监听器练习

    Java中的监听器机制是基于观察者模式的设计模式之一,广泛应用于图形用户界面(GUI)应用程序中。 #### 二、监听器的基本组成部分 监听器通常包括以下几个部分: 1. **事件源(Event Source)**:触发事件的对象,如...

Global site tag (gtag.js) - Google Analytics