描述:监听器模式是对某种共有操作的监控。当此操作执行时对此操作作相应处理。
包含的元素:
1. 要监控的事件定义
2. 监控该事件的监听器
3. 要监控的事件操作
4. 监控者
元素的职责:
1.定义了要监控事件的时间类型定义,和其它和该事件相关的特殊定义
2.监听器,用于对事件发生后要执行操作的接口定义
3.要监控的事件、操作,对于要监控的事件,他必须要包含被监控事件的注册功能
4.监控者要实现要监控的事件接口,完成时间发生后的操作内容
实例:下面做一个简单的例子
例子描述:
比如论坛里要展示某个发贴用户的发帖总数,当用户没发一次贴,总数就加1。 我们要做的就是每当用户发一次贴的时候再展示页面展示出用户最新的发帖总数。
实战:
1. 事件定义
- package com.amdocs.log;
-
-
public interface IDomainEvent {
-
-
public static final String CREATE_MESSAGE = "CREATE_MESSAGE";
-
public static final String DELETE_MESSAGE = "DELETE_MESSAGE";
-
-
public String getEventType();
- }
/**
- package com.amdocs.log;
-
-
-
-
-
-
public interface IDomainListener {
-
public void actionPerformed(IDomainEvent event);
- }
3. 要监听操作的事件注册方法添加
- package com.amdocs.log;
-
-
-
-
-
-
-
public class CreateMessageDomain {
-
-
private IDomainListener listener;
-
-
-
-
-
public void addDomainListener(IDomainListener listener) {
-
this.listener = listener;
- }
-
-
public void createMessage(String str) {
-
System.out.println("开始创建消息,消息是" + str);
- messageCountPlus();
-
System.out.println("消息创建完成,总数加1完成");
- }
-
-
-
public void messageCountPlus() {
-
this.listener.actionPerformed(new CreateMessageDomainEvent());
- }
-
- }
4.监控的事件
Java代码
1. package com.amdocs.log;
2. public classCreateMessageDomainEvent implements IDomainEvent{
3. public String getEventType() {
4. return IDomainEvent.CREATE_MESSAGE;
5. }
6. }
5. 监控者
- package com.amdocs.log;
-
-
-
-
-
-
-
-
-
-
-
public class CreateMesaageWebPage implements IDomainListener {
-
-
-
-
-
-
-
public void actionPerformed(IDomainEvent event) {
-
if (event.getEventType().equals(IDomainEvent.CREATE_MESSAGE)) {
-
System.out.println("创建消息事件被触发--執行将消息总数加1操作");
- }
- }
-
-
-
-
-
public static void main(String[] args) {
-
-
CreateMessageDomain domain = new CreateMessageDomain();
-
-
domain.addDomainListener(new CreateMesaageWebPage());
-
-
domain.createMessage("Hello 监听器模式");
-
- }
-
- }
6. 执行结果
- 开始创建消息,消息是Hello 监听器模式
-
创建消息事件被触发--執行将消息总数加1操作
-
消息创建完成,总数加1完成
分享到:
相关推荐
主要介绍了Java设计模式之监听器模式,结合实例形式较为详细的分析了java设计模式中监听器模式的概念、原理及相关实现与使用技巧,需要的朋友可以参考下
为了更好的 完善,提升,B/S架构系统的性能和实用性,系统...MQ数据适配,解析,校验,托管,异常捕获,为使用者提供两种方案,监听器模式和责任链模式并提供出 crud接口 使用者只需要按自己的需求同步到其它容器中即可
NULL 博文链接:https://coco-young.iteye.com/blog/1275485
基于 RBAC与监听器机制设计作业管理软件
NULL 博文链接:https://surpriselee.iteye.com/blog/2095459
Java简单几个类实现万能事件总线,采用享元模式和监听器模式。 使用方法很简单,直接EventCenter.get().addListener(key,()->{...你的代码快...});就行, 无论在哪,只要执行EventCenter.get().sendMessage(key,...
NULL 博文链接:https://redhacker.iteye.com/blog/413796
教程名称: 【动力节点】Javaweb开发视频教程之监听器 动力节点推出的Java视频教程包含两大部分内容:第一部分为监听器相关设计模式的详解。其中包括观察者设计模式、监听器设计模式。第二部分为监听器用法。详细...
JSP+servlet+javabean学习 里面有PDF文件对该章节的详细讲解,培训老师才讲的到的,非常详细......资源内容如下: JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与...JavaWeb13-过滤器与监听器.rar
文章目录监听器一、监听器模式介绍二、系统监听器介绍三:监听事件触发机制四:自定义监听器 监听器 一、监听器模式介绍 监听器模式可以用下图来体现: 当运行到关键节点的时候,系统会通过广播器发布相应的事件,...
Servlet、监听器、过滤器、MVC模式介绍.docx
主要介绍了Android实现静态广播监听器的方法,涉及Android的广播机制与记录监听广播信息的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
包含策略模式,单件模式,迭代器与组合模式,工厂模式,观察者模式,命令模式,适配器与外观模式,装饰者模式的问题描述,类图,源码,运行截图。
本项目完成的功能类似与迅雷等下载工具...4、自己设计实现设计模式-监听器模式 5、Activity、Service、数据库编程 6、android文件系统 7、缓存 博文地址:http://blog.csdn.net/u010156024/article/details/45362917
一个java监听器的实现demo,即观察者设计模式实现
NULL 博文链接:https://1601844782.iteye.com/blog/2274209
实验5 过滤器、监听器以及MVC + DAO设计模式应用开发实验源代码(1-4)
用DAO模式设计,servlet,监听器统计在线人数 动态数据库查询方法,是一个学习的好材料。