快速生成实体类的方法和系统
技术领域
本发明涉及计算机技术领域,并且特别涉及一种快速生成实体类的方法和系统。
背景技术
面向对象是当前主流的软件开发方法之一。在面向对象的系统中,实体对象用来表示现实世界中具体的业务实体,软件系统中数据的持久化、业务过程的执行和用户至上界面都与实体对象有关。在目前常规的面向对象软件开发方法中,对于实体对象,一般在设计期由开发人员开发实体对象的代码,并在软件系统工程的其他部分调用,这样使得整个系统具备了实体对象的相关性,使软件系统的通用性降低。
在考虑软件系统的通用性方面的问题时,现有的技术主要着眼于实体对象的动态加载,以及实体对象之间关系的动态配置,这些方法能解决软件系统通用性方面的一部分问题,但实体对象源代码仍需要由开发人员在设计期进行开发,当实体对象在运行期发生变更时,需要在设计期间重新对实体对象源代码进行开发,从而增加了软件系统的开发成本,减小了软件系统的使用寿命。
发明内容
本发明的目的在于提供一种快速生成实体类的方法和系统以改进现有技术的缺陷。
本发明实施例提供一种快速生成实体类的方法,其特征在于,包括:
步骤S1:在T4文本模板执行器中存储实体对象的源代码生成策略,编写实体文本模板文件;
步骤S2:在新设立的T4文本模板文件中存储描述所述实体对象的数据;
步骤S3:在程序运行期间,根据所述实体文本模板文件和所述源代码生成策略编写所述T4文本模板文件,输出实体类;以及
步骤S4:在程序运行期间,执行所述T4文本模板文件生成实体类文件。
优选地,在所述T4文本模板文件中,每一实体对应所述T4文本模板文件的一行,描述所述实体对象的所述数据包括实体名称、实体的字段信息及属性名称。
优选地,所述步骤S3包括:
步骤S31:遍历所述T4文本模板文件的所有行,建立第一数据表,把所述T4文本模板文件中的每一行数据依次按照行数分别读取入所述第一数据表中;
步骤S32:根据所述源代码生成策略解析所述第一数据表,生成存储所述实体对象的所述实体名称的第二数据表;
步骤S33:根据所述源代码生成策略解析所述第一数据表,生成存储每一所述实体对象的所述字段信息的第三数据表;
步骤S34:根据所述第三数据表的每一行建立存储每一所述实体对象对应的所有字段的字段名称及字段类型的第四数据表;以及
步骤S35:创建所述实体类,所述实体类的名称为所述第二数据表中的字段内容。
优选地,所述第一数据表中的行数等于所述实体类中包含的所述实体对象的个数。
优选地,在所述步骤S32中,把所述第一数据表中每一行从开始读取到第一分隔符之间的数据或字符截取后,读入所述第二数据表的不同字段中。
优选地,在所述步骤S33中,所述第三数据表为二维数组,把所述第一数据表的每一行的所述第一分隔符后面的每一第二分隔符之间的字段数据依次放到所述第三数据表的同一行的不同字段中。
优选地,在所述步骤S34中,解析所述第三数据表的每一行,根据第三分隔符区分出所述字段名称及所述字段类型,为所述第三数据表的每一行建立对应的所述第四数据表。
优选地,在所述步骤S35中,通过所述第三数据表找到所述实体类对应的所述第四数据表,从中解析所述实体类对应的所有字段名和字段类型,依次生成不带参数的构造函数和带参数的构造函数。
本发明还提供一种快速生成实体类的系统,其特征在于,包括:T4文本模板执行器、存储单元、T4文本模板文件编写模块以及执行模块,其中,所述T4文本模板文件编写模块连接于所述T4文本模板执行器、所述存储单元以及所述执行模块,
所述T4文本模板执行器用于存储实体对象的源代码生成策略,编写实体文本模板文件;
所述存储单元用于存储新设立的T4文本模板文件,在所述新设立的T4文本模板文件中存储描述所述实体对象的数据;
所述T4文本模板文件编写模块用于根据所述实体文本模板文件和所述源代码生成策略编写所述T4文本模板文件,输出实体类;以及
所述执行模块用于执行所述T4文本模板文件生成实体类文件。
优选地,所述T4文本模板文件编写模块还用于:
遍历所述T4文本模板文件的所有行,建立第一数据表,把所述T4文本模板文件中的每一行数据依次按照行数分别读取入所述第一数据表中;
根据所述源代码生成策略解析所述第一数据表,生成存储所述实体对象的所述实体名称的第二数据表;
根据所述源代码生成策略解析所述第一数据表,生成存储每一所述实体对象的所述字段信息的第三数据表;
根据所述第三数据表的每一行建立存储每一所述实体对象对应的所有字段的字段名称及字段类型的第四数据表;以及
创建所述实体类,所述实体类的名称为所述第二数据表中的字段内容。
本发明提供的快速生成实体类的方法可将实体对象的源代码的生成从传统的设计期延伸到了运行期,并将所生成的实体对应的源代码编译,生成实体类对应的创造,能够在软件系统的运行期间运态创建实体对象,且如果实体对象在运行期间发生了变更,无需重新开发实体对象的源代码,只需要修改T4文本模板文件或创建新的T4文本模板文件,从而减少了软件开发的成本,增加软件系统的使用寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施方式提供的快速生成实体类的方法的流程示意图。
图2为本发明一实施方式提供的根据实体文本模板文件和源代码生成策略编写T4文本模板文件输出实体类的流程示意图;
图3为本发明一实施方式提供的快速生成实体类的系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,图1为本发明一实施方式提供的快速生成实体类的方法的流程示意图,该快速生成实体类的方法100包括以下步骤:
步骤S1:在T4文本模板执行器中存储实体对象的源代码生成策略,编写实体文本模板文件。
步骤S2:在新设立的T4文本模板文件中存储描述实体对象的数据。
具体而言,在本发明一实施例中,在T4文本模板文件中,每一实体对应T4文本模板文件的一行,并且描述实体对象的数据包括实体名称、实体的字段信息及属性名称。
步骤S3:在程序运行期间,根据实体文本模板文件和源代码生成策略编写T4文本模板文件,输出实体类。
步骤S4:在程序运行期间,执行T4文本模板文件生成实体类文件。
参见图2,图2为本发明一实施方式提供的根据实体文本模板文件和源代码生成策略编写T4文本模板文件输出实体类的流程示意图,包括以下步骤:
步骤S31:遍历T4文本模板文件的所有行,建立第一数据表,把T4文本模板文件中的每一行数据依次按照行数分别读取入第一数据表中。
具体而言,在本发明一实施例中,T4文本模板文件的一行数据映射于第一数据表中的一行数据,第一数据表中的行数等于实体类中包含的实体对象的个数。
步骤S32:根据源代码生成策略解析第一数据表,生成存储实体对象的实体名称的第二数据表。
具体而言,在本发明一实施例中,把第一数据表中每一行从开始读取到第一分隔符(例如,分隔符“:”)之间的数据或字符截取后,读入第二数据表的不同字段中,第二数据表中存储的是每一实体对象的实体名称。本领域技术人员应该理解的是,“:”这个分隔符仅是举例,也可以是其它的分隔符,本发明并不以此为限。优选地,第二数据表中的每一字段表示一个实体对象的实体名称,依次存储。
步骤S33:根据源代码生成策略解析第一数据表,生成存储每一实体对象的字段信息的第三数据表。
具体而言,在本发明一实施例中,第三数据表为二维数组,把第一数据表的每一行的第一分隔符(例如,分隔符“:”)后面的每一第二分隔符(例如,分隔符“,”)之间的字段数据依次放到第三数据表的同一行的不同字段中,即第三数据表的同一行表示同一个实体对象中拥有的不同字段,字段的个数就是同一实体对象拥有的字段数,第三数据表的不同行表示的是不同实体对象拥有的字段信息。
步骤S34:根据第三数据表的每一行建立存储每一实体对象对应的所有字段的字段名称及字段类型的第四数据表。
具体而言,在本发明一实施例中,解析第三数据表的一行,根据第三分隔符(例如,分隔符“|”)区分出字段名称及字段类型,为第三数据表的每一行建立一个对应的第四数据表,即为每一个实体建立一个第四数据表,存储每一实体对应的所有字段的字段名及字段类型。例如,第四数据表的第一行可以对应一个字段名和字段类型。
步骤S35:创建实体类,实体类的名称为第二数据表中一个字段内容。
具体而言,在本发明一实施例中,通过第三数据表找到该实体类对应的第四数据表,从中解析出该实体类对应的所有字段名和字段类型,依次生成不带参数的构造函数和带参数的构造函数。不带参数的构造函数即将读取的字段名和字段类型用“writeline”函数写入,如果是带参数的构造函数则在该“writeline”写入时同时付值。
有利地,本发明提供的快速生成实体类的方法可将实体对象的源代码的生成从传统的设计期延伸到了运行期,并将所生成的实体对应的源代码编译,生成实体类对应的创造,能够在软件系统的运行期间运态创建实体对象,且如果实体对象在运行期间发生了变更,无需重新开发实体对象的源代码,只需要修改T4文本模板文件或创建新的T4文本模板文件,从而减少了软件开发的成本,增加软件系统的使用寿命。
参见图3,图3为本发明一实施方式提供的快速生成实体类的系统的结构示意图,该快速生成实体类的系统300包括T4文本模板执行器310、存储单元320、T4文本模板文件编写模块330以及执行模块340。其中,T4文本模板文件编写模块330连接于T4文本模板执行器310、存储单元320以及执行模块340。
在本发明一实施例中,T4文本模板执行器310用于存储实体对象的源代码生成策略,编写实体文本模板文件。
在本发明一实施例中,存储单元320用于存储新设立的T4文本模板文件,在新设立的T4文本模板文件中存储描述实体对象的数据。具体而言,在T4文本模板文件中,每一实体对应T4文本模板文件的一行,并且描述实体对象的数据包括实体名称、实体的字段信息及属性名称。
在本发明一实施例中,T4文本模板文件编写模块330用于根据实体文本模板文件和源代码生成策略编写T4文本模板文件,输出实体类。具体地,T4文本模板文件编写模块330用于遍历T4文本模板文件的所有行,建立第一数据表,把T4文本模板文件中的每一行数据依次按照行数分别读取入第一数据表中;根据源代码生成策略解析第一数据表,生成存储实体对象的实体名称的第二数据表;根据源代码生成策略解析第一数据表,生成存储每一实体对象的字段信息的第三数据表;根据第三数据表的每一行建立存储每一实体对象对应的所有字段的字段名称及字段类型的第四数据表;创建实体类,实体类的名称为第二数据表中一个字段内容。
在本发明一实施例中,执行模块340用于执行T4文本模板文件生成实体类文件。
有利地,本发明提供的快速生成实体类的系统可将实体对象的源代码的生成从传统的设计期延伸到了运行期,并将所生成的实体对应的源代码编译,生成实体类对应的创造,能够在软件系统的运行期间运态创建实体对象,且如果实体对象在运行期间发生了变更,无需重新开发实体对象的源代码,只需要修改T4文本模板文件或创建新的T4文本模板文件,从而减少了软件开发的成本,增加软件系统的使用寿命。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。