一种代码生成系统的制作方法

文档序号:11154393阅读:303来源:国知局
一种代码生成系统的制造方法与工艺

本发明涉及计算机技术领域,具体来说,涉及一种代码生成系统。



背景技术:

系统开发中往往涉及到很多相似或重复的工作,比如学生管理、教师管理,都存在增、删、改、查的操作,如果再对其进行重新编程,不仅费时费力而且极不必要,因此使用代码生成工具些协助项目开发,成为开发人员越来越常用的一种手段,虽然代码生成工具可以显著提高开发效率以及软件代码的复用率、降低开发成本,但是当前的代码生成工具部分核心代码未提供,其生成的代码往往基于代码生成器提供者提供的基础代码,这些基础类往往以加密后的动态链接库提供,对企业的最终代码存在威胁。

因此,研制出一种通用性好、安全性高的代码生成工具,便成为业内人士亟需解决的问题。



技术实现要素:

本发明提出了一种代码生成系统,克服了现有产品中上述方面的不足。

本发明的目的是通过以下技术方案来实现的:

一种代码生成系统,其包括:一模板生成模块,其包括:标签管理模块,用于添加、修改和删除标签文件;模板管理模块,用于将已有的程序框架制成模板文件,并用于添加、修改和删除模板文件;和第一映射模块,用于将所述标签文件与模板文件中需要改动的部分一一映射,生成第一映射文件,并用于添加、修改和删除第一映射文件;和

一项目生成模块,其包括:项目管理模块,用于添加、修改和删除项目文件;数据包管理模块,用于添加、修改和删除项目文件中的数据包;实体管理模块,用于添加、修改和删除数据包中实体文件;字段管理模块,用于添加、修改和删除实体文件中的字段,并对字段的数据类型进行设置;第二映射模块,用于将字段与所述第一映射文件中的标签文件一一映射,生成第二映射文件,并用于添加、修改和删除第二映射文件;和代码生成模块,用于根据第二映射文件将字段以添加、修改或删除的方式对模板文件进行修改,并生成代码文件。

进一步地,所述标签文件包括内置标签和自定义标签。

进一步地,所述标签管理模块和模板管理模块中均设置有可高亮关键字的在线代码编辑器。

进一步地,所述模板生成模块还包括环境变量模块,所述环境变量模块用于将环境变量引入模板文件中。

进一步地,所述模板管理模块还用于对模板文件进行分组。

进一步地,所述实体管理模块还用于设置实体文件的继承关系及实体文件的类型

进一步地,所述实体文件的类型为普通类或枚举类。

进一步地,所述字段的数据类型为字符串、数字、日期、枚举类型或复杂类型。

进一步地,所述复杂类型中的数据关系包括一对多、多对一和多对多。

本发明的有益效果为:通用性好、安全性高、可操作性强;缩短研发周期,节约研发成本;具有良好的规范性,代码整体质量高。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例所述的代码生成系统的流程图一;

图2是根据图1所示的代码生成系统的流程图二。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

如图1-2所示,根据本发明实施例所述的一种代码生成系统,其包括:一模板生成模块,其包括:标签管理模块,用于添加、修改和删除标签文件;模板管理模块,用于将已有的程序框架制成模板文件,并用于添加、修改和删除模板文件;和第一映射模块,用于将所述标签文件与模板文件中需要改动的部分一一映射,生成第一映射文件,并用于添加、修改和删除第一映射文件;和

一项目生成模块,其包括:项目管理模块,用于添加、修改和删除项目文件;数据包管理模块,用于添加、修改和删除项目文件中的数据包;实体管理模块,用于添加、修改和删除数据包中实体文件;字段管理模块,用于添加、修改和删除实体文件中的字段,并对字段的数据类型进行设置;第二映射模块,用于将字段与所述第一映射文件中的标签文件一一映射,生成第二映射文件,并用于添加、修改和删除第二映射文件;和代码生成模块,用于根据第二映射文件将字段以添加、修改或删除的方式对模板文件进行修改,并生成代码文件。

在本发明的一个具体实施例中,所述标签文件包括内置标签和自定义标签。

在本发明的一个具体实施例中,所述标签管理模块和模板管理模块中均设置有可高亮关键字的在线代码编辑器。

在本发明的一个具体实施例中,所述模板生成模块还包括环境变量模块,所述环境变量模块用于将环境变量引入模板文件中。

在本发明的一个具体实施例中,所述模板管理模块还用于对模板文件进行分组。

在本发明的一个具体实施例中,所述实体管理模块还用于设置实体文件的继承关系及实体文件的类型

在本发明的一个具体实施例中,所述实体文件的类型为普通类或枚举类。

在本发明的一个具体实施例中,所述字段的数据类型为字符串、数字、日期、枚举类型或复杂类型。

在本发明的一个具体实施例中,所述复杂类型中的数据关系包括一对多、多对一和多对多。

为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。

本发明主要为了适应用户已有框架的编码格式,生成用户需要的基础代码。代码生成器的主要目标是根据数据库表结构生成实体层与数据层代码,本发明将已有的程序框架称为模板(Template),而学生和教师被看做为实体或模型(Entity或Model),针对于每一个实体,可以根据实体的定义和模板通过增删改查的方式自动生成该实体的代码(Code)。

首先用户必须把基础的项目结构搭建好,然后利用该代码生成系统生成具有重复性质的代码,如增删改查页面和代码。本代码生成系统适合于用户有一套很完善的最佳实例,用户可以将这些最佳实例都抽象成一堆模板,有需求的时候,用户只需要做好实体定义,本代码生成系统将根据模板自动生成这些最佳实例的代码。

本代码生成系统并不依赖于开发语言、数据库和开发框架。无论是Java,还是PHP,还是Python,还是别的任何语言,只要是属于模型驱动的问题分析范畴,本代码生成系统都能生成对应的语言的代码。

本代码生成系统基于模板技术,用户只需搜集整理最佳实例即可,避免重复造轮子;最佳实例搜集越多,越有利于反过来对系统进行扩展,系统功能越强大;本代码生成系统具有内置模板,该支持内置模板可支持增删改查页面、实体对象、ORM、数据库文件的自动生成、文件上传下载、Excel文件导入导出、一对多关联关系生成、简单业务逻辑生成;本代码生成系统支持管理实体继承关系及字段的数据关系;具有在线代码编辑及目标代码在线预览的功能;具有灵活的映射机制,可以选择对部分实体生成对应的目标代码。

首先通过人工录入项目数据和模板数据,项目数据是指根据项目设计的 “实体”“字段”“字段间关联关系”“实体间继承关系”等;模板数据是指已有的程序框架,该数据根据不同的框架而有不同的模板设定,不因项目不同而改变,然后利用本代码生成系统将项目数据和模板数据生成代码文件,用户可对代码文件进行增加、修改、删除、查看、导入及导出等操作,并且该代码文件可完美支持继承、多态等不同模式。生成后的代码文件导入至编译器中即可运行相应的功能。用户只需定义需要的模板即可根据不同的需求而对生成的代码进行拓展。

项目管理模块,用于添加、修改和删除项目文件;数据包管理模块,用于添加、修改和删除项目文件中的数据包,并对数据包进行树状显示;实体管理模块,用于添加、修改和删除数据包中的实体文件,其支持普通类和枚举类的实体,并支持实体间的继承关系;字段管理模块,用于添加、修改和删除实体文件中的字段,其支持各种数据类型,比如:字符串、数字、日期、枚举类型、复杂类型等,并且复杂类型的关系支持一对多、多对一和多对多。

标签管理模块,用于添加、修改和删除标签文件,标签分为内置标签和自定义标签,其带有关键字高亮功能的在线代码编辑器,标签内容支持标准的EL表达式语言;模板管理模块具有模板的添加、修改和删除功能,其支持模板的分组功能,其带有关键字高亮的功能的在线代码编辑器,模板内容支持标准的EL表达式,以及自定义的“@标签”格式语言;环境变量模块,其根据实际需要,可在模板中引用这些环境变量,该环境变量是一些因实际情况而可能发生变化的值。

映射模块用于映射规则的添加、修改和删除,其主要是将字段、标签与模板文件中需要改动的部分一一对应,输出路径支持EL表达式以及“相对路径”功能,可灵活定义输出文件名称,支持过滤条件,过滤条件中支持EL表达式。

本代码生成系统优点:具有通用性,不依赖于开发语言、数据库和开发框架,不限制开发语言的种类;其安全性高,系统提供对操作模块、操作权限的安全支持,同时提供易于操作的权限管理手段,在系统底层提供对代码扩展的安全控制;其规范性好,系统设计、编码统一、文档齐全,为后期维护提供良好的基础;其可操作性强,结构简单易懂,便于项目组成员快速学习和后期改进。代码具有信息管理系统所需要的大部分基本功能,能后基于系进行快速的针对具体业务进行拓展,形成最终软件;可大大缩短项目研发周期,节约一半成本;可代码的质量得到了整体提高,最终代码稳定性更好,有利于企业的日常运行,加快企业信息化的进程,从而更早的通过信息化手段获利;可提高代码的整体质量,即使出现问题,由于操作代码均采用统一的模板生成,能够更快更好的发现并解决问题。从管理上来说,有了例子代码,新进人员有很好的参照,便于形成统一的开发风格,对项目开发管理具有一定的好处。

综上所述,借助本发明的上述技术方案,通用性好、安全性高、可操作性强;缩短研发周期,节约研发成本;具有良好的规范性,代码整体质量高。

本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1