[发明专利]结构化视图业务分离的方法、存储介质、电子设备及系统有效
申请号: | 202011062895.3 | 申请日: | 2020-09-30 |
公开(公告)号: | CN112162793B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 吴新庭 | 申请(专利权)人: | 武汉斗鱼鱼乐网络科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F8/656;G06F21/54 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张雯俐 |
地址: | 430000 湖北省武汉市东湖新技术开发区软件园东路*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 结构 视图 业务 分离 方法 存储 介质 电子设备 系统 | ||
1.一种结构化视图业务分离的方法,其特征在于,包括以下步骤:
定义结构化视图的扩展类,其配置有主件启动插件方法;定义插件的实现协议,其配置有插件启动实现方法;
当结构化视图启动插件时,该结构化视图的主件通过调用所述主件启动插件方法启动所有相关插件;启动过程中,通过对结构化视图主件进行实例化,查找到与主件相关的插件类,并对该插件类进行实例化,根据主件实例和插件实例为每个插件创建对应的视图副本;并将原结构化视图的委托与数据源赋值为主件实例;
同时,相关插件的所述插件启动实现方法将被回调;回调过程中,将插件对应的视图副本实例作为入参传入到所述插件启动实现方法中,使得所述相关插件具有各自的视图副本,并且所述视图副本会将插件对其进行的除设置委托和数据源以外的所有操作,在原结构化视图中进行回放。
2.如权利要求1所述的结构化视图业务分离的方法,其特征在于:对结构化视图主件进行实例化时,通过对自定义的结构化视图主件类进行实例化,得到相应的结构化视图主件的实例。
3.如权利要求1所述的结构化视图业务分离的方法,其特征在于,将插件对应的视图副本实例作为入参传入到所述插件启动实现方法中,使得所述相关插件具有各自的视图副本,包括以下操作:
定义所述插件启动实现方法的入参包括主件标识符hostIdentifier、结构化视图tableView;
当相关插件的所述插件启动实现方法被回调时,将入参hostIdentifier赋值为主件标识符的具体实例,将入参tableView赋值为该插件对应的视图副本实例。
4.如权利要求1所述的结构化视图业务分离的方法,其特征在于,所述结构化视图的扩展类中还配置有:
数据集合变量,用于返回针对结构化视图的统一数据集合;
插件数据启动更新方法和插件数据结束更新方法,用于包裹对数据集合变量的所有操作过程。
5.如权利要求4所述的结构化视图业务分离的方法,其特征在于,该方法还包括以下步骤:
当插件要向原结构化视图的数据集合变量中添加数据时,将调用所述插件数据启动更新方法;该方法将初始化一个数据集合作为该插件的数据副本,遍历数据集合变量并进行判断:如果当前数据包的数据源是来自该插件,则将该数据包中的数据解出并放入到该插件的数据副本中;否则,添加一个无意义的数据作为占位数据添加到该插件的数据副本中;
当插件向数据副本添加数据后,将调用所述插件数据结束更新方法;该方法将在数据集合变量中移除属于该插件的所有数据包;然后,遍历该插件的数据副本并进行判断:如果当前数据为非无意义的数据,则将该数据封包后插入到当前数据集合变量中,且其位置与在数据副本中的位置相同。
6.如权利要求5所述的结构化视图业务分离的方法,其特征在于,该方法还包括结构化视图的渲染过程:
当结构化视图开始渲染时,通过数据集合变量里的数据逐条回调其数据源实例的视图数据源协议方法或视图委托协议方法,该数据源对应的主件实例会将所有回调按要求分发到指定的插件实例中的数据源;
放置该数据的插件的数据源实例将收到该回调,并返回其业务Cell;
按照上述方式转发所有的视图数据源协议方法和视图委托协议方法,以完成整个结构化视图的渲染、事件回调。
7.如权利要求1所述的结构化视图业务分离的方法,其特征在于,所述结构化视图的扩展类中还配置有:用于刷新与主件相关的所有插件的方法,以及用于卸载与主件相关的所有插件的方法;
所述实现协议中还配置有:用于实现各插件刷新的方法,以及用于实现各插件卸载的方法。
8.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
9.一种电子设备,包括存储器和处理器,存储器上存储有在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的方法。
10.一种结构化视图业务分离的系统,其特征在于,包括:
定义模块,其用于定义结构化视图的扩展类,其配置有主件启动插件方法;定义插件的实现协议,其配置有插件启动实现方法;
第一启动模块,其用于当结构化视图启动插件时,控制该结构化视图的主件通过调用所述主件启动插件方法启动所有相关插件;启动过程中,通过对结构化视图主件进行实例化,查找到与主件相关的插件类,并对该插件类进行实例化,根据主件实例和插件实例为每个插件创建对应的视图副本;并将原结构化视图的委托与数据源赋值为主件实例;
第二启动模块,其用于在第一启动模块完成操作时,回调相关插件的所述插件启动实现方法;回调过程中,将插件对应的视图副本实例作为入参传入到所述插件启动实现方法中,使得相关插件具有各自的视图副本,并且所述视图副本会将插件对其进行的除设置委托和数据源以外的所有操作,在原结构化视图中进行回放。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼鱼乐网络科技有限公司,未经武汉斗鱼鱼乐网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011062895.3/1.html,转载请声明来源钻瓜专利网。