CN104063764A - 可视化生成项目代码的装置及方法 - Google Patents
可视化生成项目代码的装置及方法 Download PDFInfo
- Publication number
- CN104063764A CN104063764A CN201410308834.9A CN201410308834A CN104063764A CN 104063764 A CN104063764 A CN 104063764A CN 201410308834 A CN201410308834 A CN 201410308834A CN 104063764 A CN104063764 A CN 104063764A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- code
- interface
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及计算机软件技术领域,提供一种可视化生成项目代码的装置及方法,用于更简单方便的生成项目代码,并实现复杂的业务逻辑功能。所述装置包括数据源模块、数据转换模块、框架选择模块、预定义模板修改模块、底层框架修改模块、预览模块和代码保存模块。通过本发明,开发者可以基于框架简单方便的开发软件,本发明节省了软件开发时间、提高了软件开发的效率,此外本发明还实现了复杂的业务逻辑功能。
Description
技术领域
本发明涉及计算机软件技术领域,特别涉及一种可视化生成项目代码的装置及方法。
背景技术
在计算机信息时代,企业级应用软件的开发是一个漫长的过程,对于软件开发者来说,常常会花费大量的时间编写重复的代码,为了减少软件开发者的机械录入和重复劳动,现在的软件行业里出现了各种各样的代码生成器,但是目前的代码生成器只能生成简单的三层结构代码或固定操作功能的代码,不能够实现复杂的业务逻辑功能,而且在生成代码过程中不能对效果进行预览,使用不方便。
发明内容
本发明提供一种可视化生成项目代码的装置及方法,用于更简单方便的生成项目代码,并实现复杂的业务逻辑功能。
为了解决以上的技术问题,本发明的第一个方面是提供一种可视化生成项目代码的装置,所述装置包括数据源模块、数据转换模块、模式框架选择模块、预定义模板修改模块、底层框架修改模块、预览模块和代码保存模块,
所述数据源模块用于获取数据;
所述数据转换模块用于接收数据源模块发送的数据,并将数据转换成统一的格式输出到数据字段存储容器,所述数据字段存储容器用于列出每个数据的字段信息和描述;
所述模式框架选择模块用于选择模式框架,并根据所选择的模式框架加载代码模板并通过界面显示;
所述预定义模板修改模块用于通过修改模式框架的代码模板来进行界面设计;
所述底层框架修改模块用于选择并修改底层框架;
所述预览模块用于预览经过修改后的模式框架的代码模板和底层框架的代码模板,并通过界面显示;
所述代码生成模块用于根据预览的模板保存代码。
在第一个方面的第一种可能实现方式中,所述界面设计具体包括:
通过拖拽界面控件进行界面设计,和/或
将数据字段存储容器中的字段添加到界面控件,通过拖拽数据字段存储容器的数据字段来设置界面需要显示的数据字段。
在第一个方面的第二种可能实现方式中,数据源模块获取的数据选自数据表、数据视图、Word表格、Excel表格或能分辨字符格式的文本文件。
在第一个方面的第三种可能实现方式中,模式框架选择模块选择的模式框架选自ASP.net、ASP.net MVC或SSH。
在第一个方面的第四种可能实现方式中,底层框架修改模块选择的底层框架选自Hibernate、NHibernate或EF。
本发明的第二个方面是提供一种可视化生成项目代码的方法,所述方法包括:
步骤A:获取数据;
步骤B:将获取到的数据转换成统一的格式输出到数据字段存储容器,所述数据字段存储容器用于列出每个数据的字段信息和描述;
步骤C:选择模式框架,根据所选择的模式框架加载代码模板并通过界面显示;
步骤D:通过修改模式框架的代码模板来进行界面设计;
步骤E:选择并修改底层框架;
步骤F:预览经过修改后的模式框架的代码模板和底层框架的代码模板,并通过界面显示;
步骤G:根据预览的模板保存代码。
在第二个方面的第一种可能实现方式中,步骤D中界面设计具体包括:
通过拖拽界面控件进行界面设计,和/或
将数据字段存储容器中的字段添加到界面控件,开发者通过拖拽数据字段存储容器的数据字段来设置界面需要显示的数据字段。
在第二个方面的第二种可能实现方式中,步骤A中获取的数据选自数据表、数据视图、Word表格、Excel表格或能分辨字符格式的文本文件。
在第二个方面的第三种可能实现方式中,步骤C中的模式框架选自ASP.net、ASP.net MVC或SSH。
在第二个方面的第四种可能实现方式中,步骤E中的底层框架选自Hibernate、NHibernate或EF。
从以上技术方案可以看出,基于开发者所选择的开发框架,开发者通过可视化地拖拽完成了界面的设计和数据的显示,因此开发者可以简单方便的开发相应的软件,这样节省了软件开发时间、提高了软件开发的效率。此外,本发明根据框架的代码模板动态生成项目代码,从而实现了复杂的业务逻辑功能。
附图说明
图1为本发明实施例一提供的可视化生成项目代码的装置结构框图;
图2为本发明实施例二提供的可视化生成项目代码的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图,对本发明的具体实施方式进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
如图1所示,图1为本发明实施例一提供的可视化生成项目代码的装置结构框图,所述装置包括数据源模块101、数据转换模块102、模式框架选择模块103、预定义模板修改模块104、底层框架修改模块105、预览模块106和代码保存模块107。
数据源模块101用于获取数据,获取数据的方式可以是以下几类:通过Word或Excel表格来获取数据;通过标准格式的文本或XML文件获取数据;通过数据库的方式获取数据。
数据转换模块102用于接收数据源模块发送的数据,并将数据转换成统一的格式输出到数据字段存储容器,所述数据字段存储容器用于列出每个数据的字段信息和描述,其中字段信息包括字段的名称、结构、类型和关联的数据,字段描述是对字段信息的说明。由于数据源模块加载的数据不一定符合标准,因此通过数据转换得到统一标准的数据后,可以使装置生成的代码符合编码规范,此外,由于数据字段存储容器中的数据符合了标准,因此容器中的数据字段就可以使用了。举个具体的例子,假如数据源是通过Word文档获取的,它的日期格式可能是yyyy/mm/dd或者dd/mm/yyyy等,由于格式的不一致会导致生成出来的代码不符合要求,因此需要转换成统一格式的数据才能生成符合标准的代码。
模式框架选择模块103用于开发者选择模式框架,并根据所选择的模式框架加载代码模板并通过界面显示。常见的代码框架类型有ASP.net、ASP.net MVC、WPF、Silverlight或SSH。由于框架结构的通用性,因此基于选择的框架所生成的代码可以跨语言、跨平台的实现。
预定义模板修改模块104用于开发者通过修改模式框架的代码模板来进行界面设计。
具体地,由于框架选择模块对界面进行了显示,因此开发者可以通过可视化地界面,将界面控件进行拖拽完成界面设计,同时,装置会默认添加某些数据字段存储容器中的字段到界面控件,开发者也可以按照自己的要求添加数据字段存储容器中的其它字段到界面控件,添加完后,开发者通过拖拽数据字段存储容器的数据字段就可以设置界面需要显示的数据字段。
底层框架修改模块105用于开发者选择并修改底层框架,底层框架的常见类型有Hibernate、NHibernate、ORM(Object/Relation Mapping)或EF。
具体地,根据选择的底层框架,装置会生成默认的代码模版,开发者可以根据自己的需求来修改或添加代码,从而提升了代码的灵活性。
预览模块106用于预览经过修改后的模式框架的代码模板和底层框架的代码模板,并通过界面显示。通过前述的预定义模板修改模块和底层框架修改模块已经分别对模式框架和底层框架进行了修改,预览模块对修改后的框架模板进行预览,通过界面显示,开发者可以判断显示的界面是否满足要求,这就是生成代码过程中的“可视化”。
代码保存模块107用于根据预览的模板保存代码。
需要说明,这里的模板包括模式框架的代码模板和底层框架的代码模板,具体地,通过模式框架,开发者可以拖拽控件和数据字段来实现可视化操作,具体地,开发者可以根据自己的需求来自由搭配控件和数据字段。通过底层框架,开发者可以根据自己的需求来修改或添加代码,从而实现代码的灵活性,综合起来就实现了复杂的业务逻辑。代码保存模块用于将预览的模板所对应的代码保存到本地计算机。
采用本发明实施例一所提供的可视化生成项目代码的装置,实现可视化生成项目代码的方法可以参考下述的具体方法实施例。
如图2所示,图2为本发明实施例二提供的可视化生成项目代码的方法流程图,所述方法包括:
步骤201:获取数据。
具体地,获取数据的方式可以是以下几类:通过Word或Excel表格来获取数据;通过标准格式的文本或XML文件获取数据;通过数据库的方式获取数据。
步骤202:将获取到的数据转换成统一的格式输出到数据字段存储容器。
具体地,将步骤201获取到的数据转换成统一的格式输出到数据字段存储容器,所述数据字段存储容器用于列出每个数据的字段信息和描述,其中字段信息包括字段的名称、结构、类型和关联的数据,字段描述是对字段信息的说明。由于数据源模块加载的数据不一定符合标准,因此通过数据转换得到标准的数据后,可以使装置生成的代码符合编码规范,此外,由于数据字段存储容器中的数据符合了标准,因此容器中的数据字段就可以使用了。
步骤203:选择模式框架,装置根据所选择的模式框架加载代码模板并通过界面显示。
具体地,开发者选择代码的模式框架,常见的模式框架类型有ASP.net、ASP.net MVC、WPF、Silverlight或SSH。由于框架结构的通用性,因此基于选择的框架所生成的代码可以跨语言、跨平台的实现。
步骤204:通过修改模式框架的代码模板来进行界面设计。
具体地,由于经过步骤203,装置对界面进行了显示,因此开发者可以通过可视化地界面,将界面控件进行拖拽完成界面设计,同时,装置会默认添加某些数据字段存储容器中的字段到界面控件,开发者也可以按照自己的要求添加数据字段存储容器中的其它字段到界面控件,添加完后,开发者通过拖拽数据字段存储容器的数据字段就可以设置界面需要显示的数据字段。
步骤205:选择并修改底层框架。
具体地,底层框架的常见类型有Hibernate、NHibernate、ORM(Object/RelationMapping)或EF。根据预定义模板修改模块中开发者对预定义模板的修改,开发者对底层框架进行修改。
步骤206:预览经过修改后的模板,并通过界面显示。
需要说明,这里的模板包括修改后的模式框架的代码模板和底层框架的代码模板。通过前述步骤204和步骤205已经分别对模式框架和底层框架进行了修改,预览模块对修改后的框架模板进行预览,通过界面显示,开发者可以判断显示的界面是否满足要求,这就是生成代码过程中的“可视化”。
步骤207:判断界面是否达到预想的效果,若达到则转到步骤208,反之则转到步骤204。
具体地,开发者根据显示的预览模块的界面判断是否达到了预想的效果,如果达到了预想的效果则转到步骤208;反之如果没有达到预想的效果,则转到步骤204重新进行界面设计,直到达到开发者预想效果为止。
步骤208:根据预览的模板保存代码。
需要说明,这里的模板包括模式框架的代码模板和底层框架的代码模板,通过模式框架,开发者可以拖拽控件和数据字段来实现可视化操作,具体地,开发者可以根据自己的需求来自由搭配控件和数据字段。通过底层框架,开发者可以根据自己的需求来修改或添加代码,从而实现代码的灵活性。最后,装置根据修改的模式框架和修改的底层框架将对应的代码保存到本地计算机的磁盘中。
下面对实现“复杂的业务逻辑”的方法原理进行详细说明。一方面,在模式框架,开发者拖拽界面控件和数据字段来实现可视化操作,开发者可以根据自己的需求来自由搭配界面控件和数据字段;另一方面,在底层框架,开发者根据自己的需求来修改或添加代码,从而实现代码的灵活性,综合这两个方面就可以实现复杂的业务逻辑。例如开发者需要实现一个复杂的查询,由于预先生成的模板代码不知道开发者需要做怎样的查询,首先开发者通过拖拽控件来实现查询条件,然后在底层框架,开发者通过修改或者添加代码来实现想要的查询结果,这样就实现了复杂的查询。
Claims (10)
1.一种可视化生成项目代码的装置,其特征在于所述装置包括数据源模块、数据转换模块、模式框架选择模块、预定义模板修改模块、底层框架修改模块、预览模块和代码保存模块,
所述数据源模块用于获取数据;
所述数据转换模块用于接收数据源模块发送的数据,并将数据转换成统一的格式输出到数据字段存储容器,所述数据字段存储容器用于列出每个数据的字段信息和描述;
所述模式框架选择模块用于选择模式框架,并根据所选择的模式框架加载代码模板并通过界面显示;
所述预定义模板修改模块用于通过修改模式框架的代码模板来进行界面设计;
所述底层框架修改模块用于选择并修改底层框架;
所述预览模块用于预览经过修改后的模式框架的代码模板和底层框架的代码模板,并通过界面显示;
所述代码生成模块用于根据预览的模板保存代码。
2.根据权利要求1所述的装置,其特征在于所述界面设计具体包括:
通过拖拽界面控件进行界面设计,和/或
将数据字段存储容器中的字段添加到界面控件,通过拖拽数据字段存储容器的数据字段来设置界面需要显示的数据字段。
3.根据权利要求1或2所述的方法,其特征在于数据源模块获取的数据选自数据表、数据视图、Word表格、Excel表格或能分辨字符格式的文本文件。
4.根据权利要求1或2所述的方法,其特征在于模式框架选择模块选择的模式框架选自ASP.net、ASP.net MVC或SSH。
5.根据权利要求1或2所述的方法,其特征在于底层框架修改模块选择的底层框架选自Hibernate、NHibernate或EF。
6.一种可视化生成项目代码的方法,其特征在于所述方法包括:
步骤A:获取数据;
步骤B:将获取到的数据转换成统一的格式输出到数据字段存储容器,所述数据字段存储容器用于列出每个数据的字段信息和描述;
步骤C:选择模式框架,根据所选择的模式框架加载代码模板并通过界面显示;
步骤D:通过修改模式框架的代码模板进行界面设计;
步骤E:选择并修改底层框架;
步骤F:预览经过修改后的模式框架的代码模板和底层框架的代码模板,并通过界面显示;
步骤G:根据预览的模板保存代码。
7.根据权利要求6所述的方法,其特征在于步骤D中界面设计具体包括:
通过拖拽界面控件进行界面设计,和/或
将数据字段存储容器中的字段添加到界面控件,通过拖拽数据字段存储容器的数据字段来设置界面需要显示的数据字段。
8.根据权利要求6或7所述的方法,其特征在于步骤A中获取的数据选自数据表、数据视图、Word表格、Excel表格或能分辨字符格式的文本文件。
9.根据权利要求6或7所述的方法,其特征在于步骤C中的模式框架选自ASP.net、ASP.net MVC或SSH。
10.根据权利要求6或7所述的方法,其特征在于步骤E中的底层框架选自Hibernate、NHibernate或EF。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410308834.9A CN104063764B (zh) | 2014-07-01 | 2014-07-01 | 可视化生成项目代码的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410308834.9A CN104063764B (zh) | 2014-07-01 | 2014-07-01 | 可视化生成项目代码的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063764A true CN104063764A (zh) | 2014-09-24 |
CN104063764B CN104063764B (zh) | 2015-08-19 |
Family
ID=51551463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410308834.9A Active CN104063764B (zh) | 2014-07-01 | 2014-07-01 | 可视化生成项目代码的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104063764B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205539A (zh) * | 2015-08-25 | 2015-12-30 | 携程计算机技术(上海)有限公司 | Ota网站中酒店房间的管理方法及*** |
CN106293664A (zh) * | 2015-05-27 | 2017-01-04 | 交通银行股份有限公司 | 代码生成方法及装置 |
CN106406884A (zh) * | 2016-09-19 | 2017-02-15 | 深圳市东信时代信息技术有限公司 | 基于.net mvc模式web后台管理应用***应用的基础开发框架 |
CN106484410A (zh) * | 2016-09-28 | 2017-03-08 | 北京赢点科技有限公司 | 目标对象生成方法和装置 |
CN107341648A (zh) * | 2017-07-04 | 2017-11-10 | 中国人民解放军63796部队 | 远程协同类多***一体化指挥显示集成方法 |
CN108351765A (zh) * | 2015-11-09 | 2018-07-31 | 微软技术许可有限责任公司 | 从模板生成应用 |
CN108733416A (zh) * | 2017-04-21 | 2018-11-02 | 北大方正集团有限公司 | 基于JavaScript的日期格式处理方法及*** |
CN108733433A (zh) * | 2017-04-21 | 2018-11-02 | 北大方正集团有限公司 | 基于sql细分时间段操作的方法及*** |
CN109814854A (zh) * | 2019-01-24 | 2019-05-28 | 平安科技(深圳)有限公司 | 项目框架生成方法、装置、计算机设备和存储介质 |
CN112464073A (zh) * | 2020-11-05 | 2021-03-09 | 杭州讯酷科技有限公司 | 一种根据查询页面设计结果自动生成详细页面及新增表单页面的方法 |
CN115407998A (zh) * | 2022-08-22 | 2022-11-29 | 深圳市誉辰智能装备股份有限公司 | 锂电设备上位机软件框架设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007062223A2 (en) * | 2005-11-23 | 2007-05-31 | Vizzme, Inc. | Generation and playback of multimedia presentations |
CN103399742A (zh) * | 2013-07-25 | 2013-11-20 | 南京大学 | 可调节对象结构、***框架及对既有***转化的方法 |
-
2014
- 2014-07-01 CN CN201410308834.9A patent/CN104063764B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007062223A2 (en) * | 2005-11-23 | 2007-05-31 | Vizzme, Inc. | Generation and playback of multimedia presentations |
CN103399742A (zh) * | 2013-07-25 | 2013-11-20 | 南京大学 | 可调节对象结构、***框架及对既有***转化的方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293664A (zh) * | 2015-05-27 | 2017-01-04 | 交通银行股份有限公司 | 代码生成方法及装置 |
CN105205539A (zh) * | 2015-08-25 | 2015-12-30 | 携程计算机技术(上海)有限公司 | Ota网站中酒店房间的管理方法及*** |
CN108351765A (zh) * | 2015-11-09 | 2018-07-31 | 微软技术许可有限责任公司 | 从模板生成应用 |
CN106406884A (zh) * | 2016-09-19 | 2017-02-15 | 深圳市东信时代信息技术有限公司 | 基于.net mvc模式web后台管理应用***应用的基础开发框架 |
CN106484410A (zh) * | 2016-09-28 | 2017-03-08 | 北京赢点科技有限公司 | 目标对象生成方法和装置 |
CN108733416A (zh) * | 2017-04-21 | 2018-11-02 | 北大方正集团有限公司 | 基于JavaScript的日期格式处理方法及*** |
CN108733433A (zh) * | 2017-04-21 | 2018-11-02 | 北大方正集团有限公司 | 基于sql细分时间段操作的方法及*** |
CN108733433B (zh) * | 2017-04-21 | 2021-02-09 | 北大方正集团有限公司 | 基于sql细分时间段操作的方法及*** |
CN107341648A (zh) * | 2017-07-04 | 2017-11-10 | 中国人民解放军63796部队 | 远程协同类多***一体化指挥显示集成方法 |
CN109814854A (zh) * | 2019-01-24 | 2019-05-28 | 平安科技(深圳)有限公司 | 项目框架生成方法、装置、计算机设备和存储介质 |
CN109814854B (zh) * | 2019-01-24 | 2024-05-03 | 平安科技(深圳)有限公司 | 项目框架生成方法、装置、计算机设备和存储介质 |
CN112464073A (zh) * | 2020-11-05 | 2021-03-09 | 杭州讯酷科技有限公司 | 一种根据查询页面设计结果自动生成详细页面及新增表单页面的方法 |
CN112464073B (zh) * | 2020-11-05 | 2022-11-11 | 杭州讯酷科技有限公司 | 一种根据查询页面设计结果自动生成详细页面及新增表单页面的方法 |
CN115407998A (zh) * | 2022-08-22 | 2022-11-29 | 深圳市誉辰智能装备股份有限公司 | 锂电设备上位机软件框架设计方法 |
CN115407998B (zh) * | 2022-08-22 | 2023-09-05 | 深圳市誉辰智能装备股份有限公司 | 锂电设备上位机软件框架设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104063764B (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063764B (zh) | 可视化生成项目代码的装置及方法 | |
CN109062567B (zh) | 基于b/s结构的信息管理***快速开发平台 | |
TW202113586A (zh) | 小程式產生方法以及裝置 | |
He et al. | A metamodel for the notation of graphical modeling languages | |
CN105653644A (zh) | 一种页面构造器及页面构造方法 | |
US10296308B2 (en) | Automatically generating network applications from design mock-ups | |
CN104115141A (zh) | 在应用本地化中提供翻译辅助 | |
US20190114155A1 (en) | System configured from non-developer-oriented application platform | |
CN114564176B (zh) | 一种代码开发方法、服务器及存储介质 | |
CN101976199A (zh) | 面向对象的中间件分布式***开发平台 | |
US10951486B2 (en) | Terminal device, UI expansion method, and UI expansion program | |
US10203850B2 (en) | Data editing apparatus, data editing method, and data editing program | |
CN113296772A (zh) | 页面配置方法、装置、计算机设备及可读存储介质 | |
CN108304190A (zh) | 网络店铺生成方法及装置 | |
CN114860218A (zh) | 一种低代码开发方法和装置 | |
CN104834715A (zh) | 一种基于部件和容器的网站生成方法及*** | |
CN106528115A (zh) | 界面的可视化开发方法及装置 | |
JP2009277058A (ja) | 通信ネットワークを利用したファームウェアの提供方法、そのシステムおよびサービスサーバ | |
CN116069303A (zh) | 一种代码生成方法、装置、设备及存储介质 | |
KR102251050B1 (ko) | 스마트 공장 어플리케이션 개발을 위한 클라우드 플랫폼 자동 생성 장치 | |
JP5644599B2 (ja) | オブジェクト指向モデル設計支援装置 | |
CN104217018A (zh) | 处理运营数据的方法和装置 | |
Klemisch et al. | Context-aware UI component reuse | |
CN112966457A (zh) | 一种图形化云开发平台 | |
CN113835694B (zh) | 一种自定义数据可视化展示平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |