一种基于模板注入方式的数据管理功能源码生成方法技术

技术编号:39275188 阅读:11 留言:0更新日期:2023-11-07 10:52
本发明专利技术公开了一种基于模板注入方式的数据管理功能源码生成方法,通过实体和数据库表之间的映射关系,通过对属性的可视化配置方法和管理方式的规范化配置,再通过代码容器对规则进行源码的转化,实现数据的新建、复制、编辑、删除和查询的基本功能,通过对属性的可视化配置,将对属性的编辑要求按规则要求进行相关的配置,之后通过管理规则的解析将配置的数据管理规则的界面导出为管理源代码,添加到解决方案后,即可加载相关的管理界面,同时可以通过开发人员对自动生成的源代码进行调整,实现程序的二次开发。现程序的二次开发。现程序的二次开发。

【技术实现步骤摘要】
一种基于模板注入方式的数据管理功能源码生成方法


[0001]本专利技术涉及客户端与服务应用程序开发领域,针对单表管理与主从表的业务单据管理界面,实现了UI与后台逻辑控制层代码的源码自动生成。

技术介绍

[0002]在客户端应用程序开发中,有很多应用框架基本都是采用MVVM、MVC的方式,并得到广泛的应用,该方式使得业务逻辑开发和前台展示能够分离,实现前台开发和后台的分离提高了业务开发的效率。但在针对前台业务开发过程中,没有对相关的业务管理界面进行抽象与提取,由开发人员根据业务需要,自由开发或参照已有的源代码进行功能的开发,开发效率低,代码不规范,使得软件的开发周期长、效率低、代码混乱,后续接手人员维护困难,软件质量难于控制,存在大量冗余工作,并导致软件的代码质量低,造成了软件系统的运行不稳定,软件系统的测试问题多,软件发布的迭代周期长,用户体验差等问题。同时使软件技术人员,疲于应对软件运行过程中的问题,加大开发与运维人员的投入,推升了项目开发与运维成本。
[0003]目前的典型应用程序开发方式与对应的开发过程图1所示,服务采用实体框架方式实现数据库和实体的对接,在业务层开发相关的服务来为UI的模型提供业务数据的方式。
[0004]UI采用常用的MVVM的方式,实现数据和展示层的对接。通过该典型的CS框架方式实现了服务端和前台UI端的分离,同时通过UI的MVVM方式实现了视图和业务逻辑的分离。
[0005]该方式的不足之处在于没有对业务逻辑进行抽象,所有新的业务都需要相关的开发前台和后台程序,而在实际业务当中很多业务有很多的相似性,从而会导致很多的重复性的开发工作。

技术实现思路

[0006]针对上述目前技术不足,本专利技术对开发人员所涉及的代码文件进行归类,抽象出两种数据管理模型:单表数据管理模型与主从表互数据管理模型。通过规则库,将存在的差异注入两种模型的代码文件模板,形成单表模型、主从表模型的数据管理源代码,并通过前台将源代码导出到本地磁盘。开发人员可以迅速获得相关界面业务管理操作(查询、新建、复制、修改、删除)的源代码。通过该方式不仅缩短了软件开发人员程序的开发周期,同时通过查看现有源代码,形成统一规范划的程序开发方式,使软件系统易于后续开发人员的维护,提高软件开发与维护效率,降低应用系统的开发维护成本。
[0007]本专利技术为实现上述目的所采用的技术方案是:一种基于模板注入方式的数据管理功能源码生成系统,包括:
[0008]视图配置层,用于针对用户抽象的实体及自定义开发的服务,按照页面规则库中的规则通过可视化的方式将页面的使用的规则信息配置并存储到数据库的规则实例表中,将前台界面功能通过读取规则实例表中的数据,经过解析器对规则实例的解析,以导出界
面源代码;
[0009]解析器,用于将视图配置层配置的规则实例数据注入源代码模板中,形成业务数据管理的源代码,并通过源代码导出服务将源代码输出到磁盘文件;
[0010]源代码模板,为通过实体表示的不同类型的源代码模板。
[0011]所述解析器包括:
[0012]实体映射解析层,用于加载实体与视图配置层配置的规则实例数据之间的映射关系,为页面管理操作注入业务数据管理表提供注入数据支撑;
[0013]模版加载层,用于根据规则实例中的业务数据管理表加载源代码模板;
[0014]规则注入层,用于将规则实例数据的逐条规则注入源代码模版的各个文件当中,以形成业务数据管理的源代码;
[0015]源码导出层,用于将规则注入层形成的所有源代码输出到磁盘文件,以提供二次开发。
[0016]所述实体配置有实体与业务数据管理表之间的映射关系,包含有业务数据管理主表与从表的对应关系、业务数据管理表外键关联基础信息表的映射关系及与外键关联的属性。
[0017]所述源代码模板包括单表模版、主从表模版。
[0018]所述规则库包括查询规则与编辑规则信息,用于视图配置层针对业务数据管理表进行配置规则实例。
[0019]所述前台界面功能包括:
[0020]配置属性,包括功能页面对应的主表实体、从表实体、预留条件即该页面查询的数据的初始的过滤条件、加载状态、排序功能设置;
[0021]弹出框配置,用于针对业务数据管理的外键数据,配置为弹出的选择对话框,并指定弹出对话框的唯一标识、外键数据的查询条件、对话框加载的相关的数据属性;
[0022]查询属性配置,用于在业务数据管理页面中配置查询条件,即在配置属性中的预留条件的基础上指定过滤条件,若是外键数据,通过外键关联显示属性,默认为下拉列表数据,数据量超过阈值时配置为弹出对话框,并配置与弹出框配置中相同的弹出对话框标识;
[0023]编辑属性配置,用于通过反射对业务实体的所有字段进行配置,即需要对设定数据库字段进行编辑,在配置编辑字段时对字段设置默认值;设置是否必填项;同时对关联外键的基础数据表数据进行过滤;设置关联的外键是否为弹出对话框,默认外键关联的基础数据表数据为下拉数据,在数据量超过阈值时编辑外键关联属性时配置弹出窗口,弹出的窗口通过弹出标识来识别。
[0024]一种基于模板注入方式的数据管理功能源码生成方法,包括以下步骤:
[0025]视图配置层针对用户抽象的实体及自定义开发的服务,按照页面规则库中的规则通过可视化的方式将页面的使用的规则信息配置并存储到数据库的规则实例表中,将前台界面功能通过读取规则实例表中的数据,经过解析器对规则实例的解析,以导出界面源代码;
[0026]解析器将视图配置层配置的规则实例数据注入源代码模板中,形成业务数据管理的源代码,并通过源代码导出服务将源代码输出到磁盘文件;其中,源代码模板为通过实体表示的不同类型的源代码模板。
[0027]所述解析器执行以下步骤:
[0028]实体映射解析层加载实体与视图配置层配置的规则实例数据之间的映射关系,为页面管理操作注入业务数据管理表提供注入数据支撑;
[0029]模版加载层根据规则实例中的业务数据管理表加载源代码模板;
[0030]规则注入层将规则实例数据的逐条规则注入源代码模版的各个文件当中,以形成业务数据管理的源代码;
[0031]源码导出层将规则注入层形成的所有源代码输出到磁盘文件,以提供二次开发。
[0032]本专利技术具有以下有益效果及优点:
[0033]1.本专利技术基于ORM框架实现业务数据管理功能规则库的可视化配置,可应对应用系统中单表及主从表业务数据管理的应用开发情况,通过配置数据管理规则,迅速将业务数据管理的源代码导出,开发人员将源代码添加到解决方案中,就可以运行业务管理界面,针对特殊的业务需求进行二次开发调整,能够快速实现客户的业务需求,减少开发人员响应客户需求的时间,大大的降低了客户需求的软件开发周期,提高客户的满意度。
[0034]2.该专利技术通过对业务管理界面根据数据特点进行抽象归类,对于一般的新建、复制、修改、删除和查询业务由开发人员创本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于模板注入方式的数据管理功能源码生成系统,其特征在于,包括:视图配置层,用于针对用户抽象的实体及自定义开发的服务,按照页面规则库中的规则通过可视化的方式将页面的使用的规则信息配置并存储到数据库的规则实例表中,将前台界面功能通过读取规则实例表中的数据,经过解析器对规则实例的解析,以导出界面源代码;解析器,用于将视图配置层配置的规则实例数据注入源代码模板中,形成业务数据管理的源代码,并通过源代码导出服务将源代码输出到磁盘文件;源代码模板,为通过实体表示的不同类型的源代码模板。2.根据权利要求1所述的一种基于模板注入方式的数据管理功能源码生成系统,其特征在于,所述解析器包括:实体映射解析层,用于加载实体与视图配置层配置的规则实例数据之间的映射关系,为页面管理操作注入业务数据管理表提供注入数据支撑;模版加载层,用于根据规则实例中的业务数据管理表加载源代码模板;规则注入层,用于将规则实例数据的逐条规则注入源代码模版的各个文件当中,以形成业务数据管理的源代码;源码导出层,用于将规则注入层形成的所有源代码输出到磁盘文件,以提供二次开发。3.根据权利要求1所述的一种基于模板注入方式的数据管理功能源码生成方法,其特征在于,所述实体配置有实体与业务数据管理表之间的映射关系,包含有业务数据管理主表与从表的对应关系、业务数据管理表外键关联基础信息表的映射关系及与外键关联的属性。4.根据权利要求1所述的一种基于模板注入方式的数据管理功能源码生成方法,其特征在于,所述源代码模板包括单表模版、主从表模版。5.根据权利要求1所述的一种基于模板注入方式的数据管理功能源码生成方法,其特征在于,所述规则库包括查询规则与编辑规则信息,用于视图配置层针对业务数据管理表进行配置规则实例。6.根据权利要求1所述的一种基于模板注入方式的数据管理功能源码生成方法,其特征在于,所述前台界面功能包括:配置属性,包括功能页面对应的主表实体、从表实体、预留条件即该页面查询的数据的初始的过滤条件、加载...

【专利技术属性】
技术研发人员:朱瑞龙闫春雷郭大权宋宏孙超刘骁
申请(专利权)人:中国科学院沈阳自动化研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1