System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及信息处理,具体说是一种应用内事件传递方法。
技术介绍
1、运行在移动端的app,经常需要在不同功能页面之间进行事件的传递,例如:
2、功能页面pagea完成修改商品名称操作后,需要将修改后的商品名、商品id、操作人员、操作时间等信息组装为一个事件,传递给需要上述信息的功能页面pageb,功能页面pageb监听到事件后,执行相应的逻辑操作,或者刷新页面以显示最新的商品名称等内容。
3、现有技术中对此类事件的组装及相应缺乏统一的维护标准,导致实现过程繁琐、费时费力,开发成本高,且易于出错。具体体现在以下几方面:
4、缺乏统一标准:不同团队或开发者可能采用不同的方法来实现事件传递,导致代码风格不一致,难以统一维护。
5、高耦合性:事件传递逻辑往往与功能页面紧密耦合,当一个页面发生变化时,可能需要同时修改多个相关页面的代码,增加了开发复杂度。
6、低效与错误率高:手动管理事件监听和触发容易出错,且随着应用规模的扩大,事件传递的效率会逐渐降低。
7、可维护性差:复杂的事件传递逻辑使得代码难以理解和维护,增加了后期修改和扩展的难度。
8、公开于该
技术介绍
部分的信息仅仅旨在加深对本专利技术的总体
技术介绍
的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
技术实现思路
1、针对现有技术中存在的缺陷,本专利技术的目的在于提供一种应用内事件传递方法,通过引入event
2、为达到以上目的,本专利技术采取的技术方案是:
3、一种应用内事件传递方法,其特征在于,包括:
4、创建事件调度中心eventcenter,做为事件传递的核心组件,其包括:事件的注册,事件的监听,事件的触发,事件的传递;
5、事件调度中心eventcenter内部维护一个全局的、线程安全的map集合,用于存储事件类型与监听器列表的映射关系;
6、所述事件类型包括:事件名及唯一标识符key;
7、所述监听器列表中包含所有注册了该事件类型的监听器对象;
8、事件调度中心eventcenter提供公开的注册接口,允许功能页面注册事件监听;
9、事件调度中心eventcenter提供触发方法trigger作为事件触发接口,接收事件类型和事件数据作为参数。
10、在上述技术方案的基础上,注册时,需指定事件类型及相应的监听器对象。
11、在上述技术方案的基础上,事件调度中心eventcenter验证后,将监听器添加到对应事件类型的监听器列表中。
12、在上述技术方案的基础上,在触发方法trigger内部,eventcenter根据事件类型查找对应的监听器列表,然后遍历列表,依次调用监听器的处理函数,并传入事件数据。
13、在上述技术方案的基础上,事件调度中心eventcenter采用异步处理机制,当事件被触发时,事件调度中心eventcenter将监听器的处理逻辑提交到线程池或异步任务队列中执行,避免阻塞主线程。
14、在上述技术方案的基础上,当一个功能页面需要传递事件event到另一个功能页面时,调用事件调度中心eventcenter的触发方法trigger,通过所述另一个功能页面注册在map集合中的唯一标识符key匹配并传递事件event的信息。
15、本专利技术所述的一种应用内事件传递方法,具有以下有益效果:
16、显著提升开发效率:通过将事件传递逻辑封装在eventcenter中,功能页面无需关注复杂的传递过程,只需专注于业务逻辑的实现,从而大大提高了开发效率。
17、降低维护成本:统一的eventcenter管理所有事件监听与触发,使得代码结构清晰,易于理解和维护。当系统升级或功能调整时,只需修改eventcenter中的相关配置,无需逐一修改各个功能页面,大大降低了维护成本。
18、增强系统稳定性:由于事件传递过程被严格控制在eventcenter中,减少了因传递错误或遗漏导致的问题,提高了系统的整体稳定性。同时,解耦设计使得功能页面间的依赖关系减弱,降低了因某个页面错误导致的系统崩溃风险。
19、提升用户体验:高效的事件传递机制确保了页面间的信息同步及时准确,提升了应用的响应速度和用户体验。例如,在电商应用中,商品信息的实时更新能够使用户及时获取最新商品状态,增加购物满意度。
20、增强可扩展性:本专利技术的应用内事件传递方法具有良好的可扩展性。随着应用的不断发展,新的功能页面可以轻松地通过注册监听和触发事件的方式接入现有系统,无需对现有架构进行大幅修改。
本文档来自技高网...【技术保护点】
1.一种应用内事件传递方法,其特征在于,包括:
2.如权利要求1所述的一种应用内事件传递方法,其特征在于,注册时,需指定事件类型及相应的监听器对象。
3.如权利要求1所述的一种应用内事件传递方法,其特征在于,事件调度中心EventCenter验证后,将监听器添加到对应事件类型的监听器列表中。
4.如权利要求1所述的一种应用内事件传递方法,其特征在于,在触发方法trigger内部,EventCenter根据事件类型查找对应的监听器列表,然后遍历列表,依次调用监听器的处理函数,并传入事件数据。
5.如权利要求1所述的一种应用内事件传递方法,其特征在于,事件调度中心EventCenter采用异步处理机制,当事件被触发时,事件调度中心EventCenter将监听器的处理逻辑提交到线程池或异步任务队列中执行,避免阻塞主线程。
6.如权利要求1所述的一种应用内事件传递方法,其特征在于,当一个功能页面需要传递事件Event到另一个功能页面时,调用事件调度中心EventCenter的触发方法trigger,通过所述另一个功能页面注册在M
...【技术特征摘要】
1.一种应用内事件传递方法,其特征在于,包括:
2.如权利要求1所述的一种应用内事件传递方法,其特征在于,注册时,需指定事件类型及相应的监听器对象。
3.如权利要求1所述的一种应用内事件传递方法,其特征在于,事件调度中心eventcenter验证后,将监听器添加到对应事件类型的监听器列表中。
4.如权利要求1所述的一种应用内事件传递方法,其特征在于,在触发方法trigger内部,eventcenter根据事件类型查找对应的监听器列表,然后遍历列表,依次调用监听器的处理函数,并传入事件数据...
【专利技术属性】
技术研发人员:袁超,王怀友,刘山国,刘辉,尹志刚,卢述奇,何畏,
申请(专利权)人:同福集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。