[发明专利]一种脚本语言扩展方法及事件总线架构有效
申请号: | 201510940311.0 | 申请日: | 2015-12-15 |
公开(公告)号: | CN105573756B | 公开(公告)日: | 2018-11-30 |
发明(设计)人: | 苗超;陈纪东 | 申请(专利权)人: | 金蝶软件(中国)有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F8/51 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 脚本语言 扩展 方法 事件 总线 架构 | ||
本发明公开了一种脚本语言扩展方法及事件总线架构,所述方法包括:事件,所述事件包括:固定handler处理机制和扩展handler,所述方法还包括:事件总线接收事件注册请求;所述事件总线根据所述事件注册请求对所述事件进行注册,并对所述固定handler和所述扩展handler进行排序;所述事件总线接收所述事件触发指令;所述事件总线根据所述事件触发指令调用所述固定handler和/或所述扩展handler。本发明通过事件总线实现对事件的管理,并在事件中插入扩展handler,使得该事件不必大量复写代码,可减少代码量。
技术领域
本发明涉及脚本语言技术领域,尤其涉及一种脚本语言扩展方法及事件总线架构。
背景技术
JavaScript(直译式脚本语言)是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。
目前,针对JavaScript的开发都是基于过程的线性开发,一般不提供事件,也不提供插入扩展点的机制,如果需要事件时,一般采取复写代码或回调代码的方式进行事件以及事件的扩展。
采用复写代码或回调代码的方式进行事件以及事件的扩展,必然造成大量重复代码,从而增加代码量。
发明内容
为解决上述技术问题,本发明提供了一种脚本语言扩展方法,通过事件总线实现对事件的管理,并在事件中插入扩展handler,使得该事件不必大量复写代码,可减少代码量。
本发明的技术方案如下:
一种脚本语言扩展方法,包括:事件,所述事件包括:固定handler处理机制和扩展handler,所述方法还包括:
事件总线接收事件注册请求;
所述事件总线根据所述事件注册请求对所述事件进行注册,并对所述固定handler和所述扩展handler进行排序;
所述事件总线接收所述事件触发指令;
所述事件总线根据所述事件触发指令调用所述固定handler和/或所述扩展handler。
优选地,所述事件总线根据所述事件注册请求对所述事件进行注册:
所述事件总线根据所述事件注册请求获取所述事件的事件名称、固定handler、扩展handler以及扩展handler的切入点;
所述事件总线对所述事件的事件名称、固定handler、扩展handler以及扩展handler的切入点进行注册。
优选地,所述扩展handler的切入点包括:
调用所述固定handler之前、调用所述固定handler中和调用所述固定handler之后中的一个或者多个。
优选地,所述事件总线对所述固定handler和所述扩展handler进行排序包括:
当所述扩展handler的切入点为调用所述固定handler之前时,则所述扩展handler在所述固定handler之前调用;
和/或
当所述扩展handler的切入点为调用所述固定handler中时,则所述扩展handler覆盖所述固定handler调用;
和/或
当所述扩展handler的切入点为调用所述固定handler之后时,则所述扩展handler在所述固定handler之后调用。
一种事件总线架构,包括:事件,所述事件包括:固定handler处理机制和扩展handler,所述事件总线架构还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶软件(中国)有限公司,未经金蝶软件(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510940311.0/2.html,转载请声明来源钻瓜专利网。