[发明专利]一种事件处理的方法和装置有效
申请号: | 201510369678.1 | 申请日: | 2015-06-29 |
公开(公告)号: | CN105094811B | 公开(公告)日: | 2019-07-02 |
发明(设计)人: | 陈庆伟;鞠丹;胡海涛;李华冈 | 申请(专利权)人: | 安一恒通(北京)科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京鸿德海业知识产权代理事务所(普通合伙) 11412 | 代理人: | 袁媛 |
地址: | 100193 北京市海淀区东北旺西路8*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 事件 处理 方法 装置 | ||
本发明提供了一种事件处理的方法和装置,其中方法包括:事件监听单元将自身的事件接口和要监听的事件信息注册到事件工厂;所述事件工厂保存注册的事件接口与事件信息的对应关系;事件派发单元通过所述事件工厂枚举出自身绑定的事件所对应的事件接口,并通过枚举出的事件接口发送自身绑定的事件。本发明实现简单,提高了观察者模式的事件处理效率。
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种事件处理的方法和装置。
【背景技术】
观察者模式是软件设计模式的一种,在此种模式中,一个被观察者管理所有相依于它的观察者,并且在被观察者状态发生改变时主动向观察者发出通知,这通常通过调用各观察者提供的方法来实现。这种模式广泛地应用于事件处理系统,在事件处理系统中,例如用户界面可以作为一个观察者,业务数据是被观察者,当用户数据发生变化后,将事件发送给观察者,观察者响应该事件将数据变化显示在用户界面。
当前主流的观察者模式是基于boost信号槽的方式实现的,然而boost信号槽涉及的接口调用层级很多,调用过程采用的是值拷贝的方式,因此效率比较低。
【发明内容】
有鉴于此,本发明提供了一种事件处理的方法和装置,以便于提高观察者模式的事件处理效率。
具体技术方案如下:
本发明提供了一种事件处理的方法,该方法包括:
事件监听单元将自身的事件接口和要监听的事件信息注册到事件工厂;
所述事件工厂保存注册的事件接口与事件信息的对应关系;
事件派发单元通过所述事件工厂枚举出自身绑定的事件所对应的事件接口,并通过枚举出的事件接口发送自身绑定的事件。
根据本发明一优选实施方式,所述事件监听单元将自身的事件接口和要监听的事件信息注册到事件工厂包括:
所述事件监听单元调用所述事件工厂提供的添加事件监听者AddEventListener方法,将所述事件监听单元自身的事件接口和要监听的事件信息作为所调用方法的参数;或者,
所述事件监听单元调用所述AddEventListener方法,将所述事件监听单元自身的事件接口作为所调用方法的参数,其中所述事件接口通过预设的函数携带要监听的事件信息。
根据本发明一优选实施方式,该方法还包括:
所述事件监听单元调用所述事件工厂提供的移除事件监听者RemoveEventListener方法,将所述事件监听单元自身的事件接口和要监听的事件信息作为所调用方法的参数,或者将所述事件监听单元自身的事件接口作为所调用方法的参数,其中所述事件接口通过预设的函数携带要监听的事件信息;
所述事件工厂删除所述事件接口和事件信息的对应关系。
根据本发明一优选实施方式,所述事件派发单元通过所述事件工厂枚举出自身绑定的事件所对应的事件接口包括:
所述事件派发单元调用所述事件工厂提供的枚举事件监听者EnumEventListener方法,将所述事件派发单元绑定的事件信息作为所调用方法的参数;
获取所述事件工厂返回的所述事件派发单元绑定的事件所对应的事件接口。
根据本发明一优选实施方式,当所述事件派发单元绑定的事件被触发时,执行通过所述事件工厂枚举出自身绑定的事件所对应的事件接口的步骤。
本发明还提供了一种事件处理的装置,该装置包括:
事件监听单元,用于将自身的事件接口和要监听的事件信息注册到事件工厂;
事件工厂,用于保存注册的事件接口与事件信息的对应关系;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安一恒通(北京)科技有限公司,未经安一恒通(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510369678.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:通知消息展示方法和装置
- 下一篇:一种用于流式数据并行处理的内存管理方法