本申请实施例提供一种数据编辑方法、设备及存储介质。在数据编辑方法中,数据单元存放在类中,每个类具有类描述。存在编辑数据单元的需求时,无需关注数据单元的结构,只需获取数据单元所在的类的类描述,即可基于反射机制获取到数据单元。一方面,这种为数据单元生成编辑面板的代码框架可复用于多种不同结构的数据单元,降低开发成本;另一方面,当数据单元的结构变化时,不会对访问数据单元的方式造成影响,提升访问效率。提升访问效率。提升访问效率。
【技术实现步骤摘要】
数据编辑方法、设备及存储介质
[0001]本申请涉及互联网
,尤其涉及一种数据编辑方法、设备及存储介质。
技术介绍
[0002]一个大型系统,需要组织和管理大量的数据,并需要对相应的数据采用对应的行为进行处理。通常,相似的数据或在一个行为中需要使用的数据,会被组织在一起。系统基于数据执行某一功能时,需要找到与数据对应的行为,并对数据执行这些行为。在大型的系统中,如何处理被共用的数据和行为,并为数据和行为创建合理的关联方式,是提升系统性能的关键环节。
[0003]在一种常用的现有技术中,将共用数据和行为分别抽取为单元,并基于单元组合的方式实现不同的系统功能。但是,这种方式中,被抽取的单元不直接面向系统功能,可读性和易用性较差。同时,行为单元和数据单元的耦合性较高,不利于提升系统的内聚性。因此,有待提出一种新的解决方案。
技术实现思路
[0004]本申请的多个方面提供一种数据编辑方法、设备及存储介质,用以提升系统的内聚性和系统代码的可复用性。
[0005]本申请实施例提供一种数据驱动的系统功能加载方法,所述系统的源文件包含:多个类,每个类具有类描述;所述多个类中,用于存放行为单元的类以及用于存放数据单元的类相互解耦;所述方法包括:获取所述系统的配置数据,所述配置数据包含待加载的功能对应的行为单元的标识;基于反射机制,从已注册的类描述中,确定与所述行为单元的标识对应的第一目标类的类描述;根据所述第一目标类的类描述,从所述第一目标类中查询所述行为单元对应的成员方法;调用所述行为单元对应的成员方法,在所述系统的内存中创建所述行为单元,以基于所述配置数据对所述系统的功能进行驱动。
[0006]进一步可选地,在调用所述行为单元对应的成员方法,在所述系统的内存中创建所述行为单元之前,还包括:确定所述系统所需的数据单元的标识;基于反射机制,根据所述数据单元的标识,确定所述数据单元所在的第二目标类的类描述;根据所述第二目标类的类描述,访问资源文件中的所述第二目标类,得所述数据单元;将所述数据单元加载到内存中供所述行为单元使用,以基于所述数据单元对所述系统的功能进行驱动。
[0007]进一步可选地,所述方法还包括:响应编辑器的编辑操作,确定待编辑的数据单元的标识;根据所述待编辑的数据单元的标识,确定所述待编辑的数据单元所在的第三目标类的类描述;基于反射机制,根据所述第三目标类的类描述,从所述第三目标类中,确定与所述待编辑的数据单元对应的成员变量;根据所述成员变量,对所述编辑器的代码模板中的编辑对象赋值,得到所述待编辑的数据单元的编辑代码;运行所述待编辑的数据单元的编辑代码,生成所述待编辑的数据单元的编辑面板,以供用户对所述待编辑的数据单元进行编辑。
[0008]进一步可选地,基于反射机制,根据所述第三目标类的类描述,从所述第三目标类中,确定所述待编辑的数据单元对应的成员变量,包括:基于所述第三目标类的类描述,访问所述第三目标类中的成员变量;若访问到的成员变量的类型为基础数据类型,则将所述访问到的成员变量作为所述待编辑的数据单元对应的成员变量;若所述访问到的成员变量的类型为类描述的类型,则基于所述访问到的成员变量的类描述,对所述访问到的成员变量进行递归遍历,直至访问到基础数据类型的成员变量,作为所述待编辑的数据单元对应的成员变量。
[0009]进一步可选地,所述方法还包括:响应新增行为单元的操作,获取所述新增的行为单元所在的第四目标类的类描述;对所述第四目标类的类描述进行注册,以更新所述已注册的类描述,以供后续根据所述第四目标类的类描述,访问所述新增的行为单元。
[0010]进一步可选地,所述方法还包括:响应新增数据单元的操作,获取所述新增的数据单元所在的第五目标类的类描述;对所述第五目标类的类描述进行注册,以更新所述已注册的类描述,以供后续根据所述第五目标类的类描述,访问所述新增的数据单元。
[0011]进一步可选地,所述方法还包括:获取所述系统的实时负载数据;展示所述实时负载数据,以供用户根据所述实时负载数据更新所述配置数据;获取更新的配置数据,并根据所述更新的配置数据,动态调整所述系统中实时运行的行为单元。
[0012]进一步可选地,所述方法还包括:确定所述系统包含的功能模块;根据所述功能模块包含的子功能,对所述功能模块进行拆分,得到所述多个子功能各自对应的行为单元。
[0013]本申请实施例提供的系统功能加载系统中,系统的源文件包含多个存放有行为单元的类,每个类具有类描述;在加载功能时,根据外部输入的数据(即配置数据)决定调用哪些类中的成员方法来创建行为单元,可基于外部数据确定系统运行逻辑,实现了系统的数据驱动。在系统的行为由外部输入的数据决定的前提下,可通过改变外部输入的数据来改变系统的运行行为,实现新的系统功能,提升系统的易用性和可复用性。
附图说明
[0014]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0015]图1为本申请一示例性实施例提供的系统功能加载方法的流程示意图;
[0016]图2为本申请一示例性实施例提供的运行时创建子系统的流程示意图;
[0017]图3为本申请一示例性实施例提供的电子设备的结构示意图。
具体实施方式
[0018]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0019]一个具有特定功能的系统,需要组织和管理大量的数据,并对相应的数据采用对应的行为进行处理。通常,相似的数据或在一个行为中需要使用的数据,会被组织在一起。系统通过一些解决方案找到与这些数据对应的行为,并对数据执行这些行为,来完成一个
系统功能的执行。
[0020]在构建系统时,通常需要关注以下几点,以提升系统性能:
[0021]其一,如何处理被共用的数据和行为。一个系统的需要提供众多不同的功能,部分不同的功能需要一些共同的数据和行为。因此,在设计系统时,若多种功能可以共享部分数据和行为,则可避免在每一个行为中重复实现相同的数据结构。
[0022]其二,数据和行为的关联方式。每一个行为需要特定的数据,而在执行某一个行为时,如何找到所需要的数据,决定了行为与数据的耦合程度。若行为与数据的耦合过高,则会导致行为和数据的复用性变差,进而,在对相似的数据结构实现相似的行为时,容易因为微小的区别而大量地新增代码。
[0023]其三,如何描述数据和行为来实现功能。数据结构和行为,一般通过具体的代码硬编码实现。若需要实现不同功能,则需要直接修改代码,以修改数据结构或者行为逻辑,进而导致系统的扩展成本和维护成本较高。
[本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据编辑方法,其特征在于,待编辑的系统的源文件包含:多个类,每个类具有类描述;所述多个类中,用于存放行为单元的类以及用于存放数据单元的类相互解耦;所述方法包括:响应编辑器的编辑操作,确定待编辑的数据单元的标识;根据所述待编辑的数据单元的标识,确定所述待编辑的数据单元所在的第三目标类的类描述;基于反射机制,根据所述第三目标类的类描述,从所述第三目标类中,确定与所述待编辑的数据单元对应的成员变量;根据所述成员变量,对所述编辑器的代码模板中的编辑对象赋值,得到所述待编辑的数据单元的编辑代码;运行所述待编辑的数据单元的编辑代码,生成所述待编辑的数据单元的编辑面板,以供用户对所述待编辑的数据单元进行编辑。2.根据权利要求1所述的方法,其特征在于,基于反射机制,根据所述第三目标类的类描述,从所述第三目标类中,确定所述待编辑的数据单元对应的成员变量,包括:基于所述第三目标类的类描述,访问所述第三目标类中的成员变量;若访问到的成员变量的类型为基础数据类型,则将所述访问到的成员变量作为所述待编辑的数据单元对应的成员变量;若所述访问到的成员变量的类型为类描述的类型,则基于所述访问到的成员变量的类描述,对所述访问到的成员变量进行递归遍历,直至访问到基础数据类型的成员变量,作为所述待编辑的数据单元对应的成员变量。3.根据权利要求1所述的方法,其特征在于,还包括:获取所述系统的配置数据,所述配置数据包含待加载的功能对应的行为单元的标识;基于反射机制,从已注册的类描述中,确定与所述行为单元的标识对应的第一目标类的类描述;根据所述第一目标类的类描述,从所述第一目标类中查询所述行为单元对应的成员方法;调用所述行为单元对应的成员方法,在所述系统的内存中创建所述行为单元,以基于所述配置数据对所述系统的功能进行驱动;调用所述行为单元对应的成员方法,在所述系统的内存中创建所述行为单元之前,还包括:确定所述系统所需的...
【专利技术属性】
技术研发人员:李荣华,孙培文,池婧雯,
申请(专利权)人:完美世界北京软件科技发展有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。