代码生成技术在软件开发中的应用

2016-08-29 02:14重庆三峡职业学院现代教育技术中心
电子世界 2016年15期
关键词:代码生成用户界面数据表

重庆三峡职业学院现代教育技术中心 唐 磊



代码生成技术在软件开发中的应用

重庆三峡职业学院现代教育技术中心唐磊

本文介绍了代码生成技术的概念和特点,以及代码生成器的分类,在此基础上举例说明代码生成器在软件项目开发中的应用过程。

代码生成;软件开发;.NET;数据库

1.引言

一直以来,软件工程界在如何减少软件工程师的工作量和提高工作产品的质量的问题上做着不懈地探讨和研究,用于解决这问题的新方法、新技术、新工具也不断地涌现。一些应用程序框架如J2EE,.NET的出现,让软件工程师摆脱了编写诸如数据库访问,web页面UI设计等底层逻辑代码带来的烦恼,但软件工程师面临编写基于这些应用程序框架API的一些重复繁琐的代码,以及软件系统需求或应用程序框架API的变更导致软件系统中代码的多次修改等诸多问题。采用代码生成技术可以成为解决之道。它实现了从手工作坊式的编程到对组件的自动装配的转变。

2.代码生成技术综述

所谓代码生成技术,即在开发应用软件之前,先设计一个程序,用它来自动生成目标程序的代码。随着应用程序开发环境的日益复杂,如J2EE、MFC和.NET等,代码生成技术在专业应用程序开发过程中的地位起来越重要。使用代码生成技术,可极大地加快应用软件的编程速度,降低错误发生率,从而提高应用软件的生产效率。

代码生成技术的优点:

质量高:大量手写代码的质量是参差不齐的,修改已完成的同类代码的代价太大。使用代码生成器,即使在调试时发现了错误,也可以修改模板和重新生成代码。

一致性好:代码生成器生成的代码整齐,对变量名的定义、API的调用等进行规范,提高了代码的可读性。

对项目开发经理来说,应用代码生成技术还具有易于控制开发流程、提供高质量的文档和代码的优点。

代码生成器按输入和输出分可分为代码Munger、内嵌代码扩展、混合代码生成器、部分类生成器和层生成器。代码生成器按是否对生成代码的维护可分为消极的代码生成器和积极的代码生成器。

3.代码生成技术实现

现代企业应用程序一般采用三层或多层模式,从下向上依次为数据库访问层、应用逻辑层和用户界面层。一个典型的在.NET平台上开发的应用软件的模式为:

数据访问层:实现SQL语句和存储过程与数据库的访问。

应用逻辑层:由一组.NET组件(.dll)构成,是实现应用程序的业务逻辑部分。应用逻辑层通过调用数据库访问层中的类方法,实现ADO.NET与数据库交换数据。

用户界面层:.NET平台上的用户界面可以采用两种方式:Web Form和Windows Form。前者在服务器上运行,用户通过计算机上的浏览器访问;后者是运行于用户计算机上的Windows应用程序,通过Web Service与服务器上的应用逻辑层交换数据。

基于企业应用程序目前采用的三层或多层模式,目前的商业代码生成软件大多为层生器类。软件提供大量程序模板供选择,可为数据访问层、应用逻辑层和用户界面层等定义对应的模板,通过数据库中的表可批量生成每层相对应的代码,从而节约大量手工方式编码的时间。通过软件内的文档生成功能可生成对应的数据库设计文档。至于应用程序的报表问题,可采用成熟的每三方组件来完成,如著名的水晶报表。也可自行编制报表程序。

4.代码生成技术应用

动软代码生成器在目前软件开发中应用广泛。它支持多种类型数据库管理器,可以生成基于面向对象的思想和三层架构设计的代码,主要实现在对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性和Model类构造等基础代码片断,支持不同3种架构代码生成。以下是动软代码生成器的操作步骤。

第一步,在代码模板中创建各层的代码模板(如Model层,数据访问层(DAL),应用逻辑层(BLL)和用户界面层),其中Model层代码模板如图 1所示。图中TableHost host = (TableHost)(Host);表示获取到的数据表对象,<#= host.TableDescription #>表示数据表的注释名,<#= host.GetModelClass(host.TableName) #>表示数据表基类名称,<#= CodeCommon.DbTypeToCS(c.TypeName) #> 表示数据表基类属性数据类型,<#= c.ColumnName #>表示数据表基类属性名称。

图1  Model层代码模板

第二步,在代码模板中创建各层的代码模板(如Model层,数据访问层(DAL),在数据库视图中创建并连接服务器,在出现的数据库列表中任选一个数据库,在出现的右键菜单中选择“模板代码批量生成”,在出现的窗口中选择要生成代码的数据库,选择表和视图,选择要模板,选择“按模板和表独立保存”,选择生成代码保存路径,点击“导出”按钮,即在指定路径下生成与代码模板对应的源代码。窗口设置如图 2所示。

图2  模板代码批量生成窗口

5.结论

本文以动软代码生成器生成某个软件项目代码为例说明了代码生成技术的应用。代码自动生成软件是极有价值的应用软件开发工具,无论是选择商业软件还是自行开发代码生成工具,正确地应用和维护可以极大地提高软件开发效率和软件质量。

[1]刘鹰.代码生成技术及其在企业开发中的应用[J].西安文理学院学报:自然科学版,2006,9(3):98.

[2]范小钢.代码生成技术的探讨与实践[D].中山:中山大学,2004.

[3]郑斌.基于ASP.NET Web应用的代码生成技术[D].长沙:中南大学,2011.

[4]王忠杰,战德臣,徐晓飞等.基于对象关联模型的企业应用软件代码生成器[J].计算机集成制造系统,2007,13(5):1023.

唐磊(1983—),男,重庆万州人,重庆大学计算机技术工程硕士,现供职于重庆三峡职业学院现代教育技术中心,实验师,研究方向:计算机网络,软件开发。

猜你喜欢
代码生成用户界面数据表
基于CiteSpace的国外用户界面体验图谱量化分析
Lustre语言可信代码生成器研究进展
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
一种基于模型和模板融合的自动代码生成方法
物联网用户界面如何工作
基于列控工程数据表建立线路拓扑关系的研究
基于SSH框架的JavaEE项目代码生成工具的研究与实现
UI用户界面色彩设计研究
基于Web应用界面的代码自动生成软件设计