最近看到了这样一篇博客,感觉写的很好。尤其是它其中叙述的这种基于事件的模型。
博客地址: http://www.ibm.com/developerworks/cn/java/l-niosvr/#icomments
我也是照猫画虎的写了个示例程序,不知道对不对我斗胆描述一下这个结构:
1.定义一个接口,定义需要提供的服务。
2.定义一个抽象类(或者普通的类)实现上述接口,实现接口的所有服务,实现内容都为空的。
3.接下来,用户可以根据自己的需要通过继承以上的类来重写接口的服务,实现自己想要的服务。想写多少写多少,想写几个写几个。这个属于用户自定义的Handle。
4.最后一步,需要一个触发器。触发器内部维护一个List以保持那些用户添加进来的自定义Handle。这个触发器采用单例模式,通过提供addListener方法向List中添加Handle。最后再提供对应于1中接口的所有服务的的触发调用函数,大概像这样:
public void fireService1(){ for(int i=0;i<listeners.size();i++){ ((MyListener)listeners.get(i)).opService1(); } }
大功告成,神奇的效果出来了:
当用户自定义了几个Handle后,通过addListener方法注册后,在执行fireServiceX的时候,虽然他是将List中的所有Handle的ServiceX都执行了一遍,但实际上由于Handle重写的服务不同,若Handle1没有重写ServiceX,则会执行其父类的ServiceX,但是其父类的ServiceX是空的,也就什么都不执行了。
相关推荐
Handle 是 UEFI 中的一种数据结构,它是一种抽象的概念,但它是 UEFI 中最基本的结构体之一。 首先,UEFI 中的 Handle 是一种抽象的概念,它是 UEFI 中的一种结构体,用于表示 UEFI 中的协议、服务和驱动程序。...
Handle系统是一种全球通用的名称服务,旨在互联网上提供安全的名称解析和管理。该系统允许用户通过特定的Handle(句柄)来查找和管理信息,其设计目标是提供一个可扩展且可靠的标识符系统。本文档详细介绍了Handle...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传输数据。它基于JavaScript的一个子集,格式简洁且易于读写,同时也易于机器解析和生成。在处理大量的JSON数据时,拥有...
在IT行业中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间传递数据。JSON-handle可能是针对这个格式提供解析、生成、操作等功能的软件组件。 在JSON-handle ...
JSON是一种轻量级的数据交换格式,广泛应用于网络服务和Web应用之间传递数据。由于其结构清晰、易于阅读和编写,JSON已经成为现代Web开发中的标准。 在开发过程中,开发者经常需要查看和解析API返回的JSON数据,...
JSON是一种轻量级的数据交换格式,广泛应用于Web服务和API接口,使得数据传输变得简单易读。这款插件的出现,使得开发者和普通用户在浏览网页时,无需离开浏览器就能对JSON数据进行解析、格式化和操作。 插件的核心...
HandleC是一种面向硬件的编程语言,它提供了对底层硬件的直接访问,使得设计者能够精确地描述硬件行为。HandleC的核心目标是提高硬件描述的效率和可读性,同时降低错误率。该语言的特点包括: 1. **类型安全**:...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和API交互,因为其结构清晰、易于人阅读和编写,同时也方便机器解析和生成。 此插件版本号为0.6.1,表明它是经过多次迭代和改进...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它基于JavaScript的一个子集,但语法结构清晰,易于人类阅读和编写,同时也易于机器解析和生成。在这个"json ...
Handle System协议(版本2.1)的目的是向客户端软件提供一种方式,使其能够通过Handle系统进行命名解析和管理。协议描述了客户端软件定位任何给定Handle的责任服务器的过程。同时,它也明确了客户端和服务器之间交换...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间的数据传输。它以文本形式存储和传递数据,易于人阅读和编写,同时也易于机器解析和生成。"Json_handle"是一个专为处理...
JSON是一种轻量级的数据交换格式,因其简洁、易读、易于解析的特性,在Web服务和应用程序之间广泛使用。JSON-handle_0.5.6 提供了独特的功能,使用户能够更方便地查看和编辑JSON数据。 该工具的核心特性是以树形图...
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,因其简洁、易读、易写的特点,广泛应用于Web服务和应用程序之间的数据传输。在开发过程中,处理JSON数据时,有时原始的文本格式并不直观,这时...
IB_SMI_HANDLE是IB架构中处理SMI的一种句柄或标识符,它允许程序通过特定的接口与SMP进行交互。这个句柄是系统为每个SMI分配的唯一标识,使得软件能够正确地定位和处理来自网络的管理请求。 描述中的“Return IB_...
Handle系统是一种全球分布式的名字解析系统,旨在为数字资源提供持久、唯一且可操作的标识符,以此来解决互联网上的命名冲突问题。下面将详细阐述Handle系统的概念、功能、工作原理以及它在工业互联网中的应用。 1....
在日常开发或者数据分析过程中,我们经常需要处理JSON格式的数据,这是一种轻量级的数据交换格式,以其易读性和易于编写的特点被广泛应用。然而,原始的JSON数据通常以纯文本形式呈现,对于非开发者或者初学者来说,...
"JSON-Handle"是一个专为前端开发者设计的谷歌浏览器插件,它提供了一种高效的方式来查看和处理JSON数据。该插件的核心功能包括: 1. **数据格式化**:JSON-Handle能够将混乱的JSON字符串转换成整洁、易读的格式,...
在当前数字化时代,JSON(JavaScript Object Notation)已经成为网络应用间交换数据的一种常用格式,尤其是在API接口调用中。JSON-handle的出现,为开发者和数据分析师提供了直接在浏览器中解析和操作JSON数据的便捷...