.NET代码生成器有助于快速应用程序开发

你可以完全用自己开发的代码(也可能还有来自MSDN的部分程序模块)来建立一个支持快速应用程序开发(rapid application development,RAD)的环境。但是我认为作为一名.NET开发者,如果你不去考虑现有的第三方代码生成器的话,那么你就是在欺骗你自己以及你的公司。

使用代码生成器(code generator,CG),你就可以从一组简单的设定或者数据库设计中获得几百、几千行代码。如果不采用这项技术的话,开发者就不得不花上几个小时或者几天的时间来手工编写这些代码。许多开发工作室要么让它们的初级程序员创建这些“grunt code”、要么把它外包给国外的程序员以节省开销。CG有着这两种方法所没有的好处,即一致性。

代码生成器是如何工作的

从模板生成的所有代码的命名规则、文件编制、访问机制等都是相同。任何两个开发员各自开发的代码都无法保证这一点(甚至同一个开发员在不同时间所开发的代码也不能保证)。CG有两种工作方式:自顶向下(top down)和自下向上(bottom up)。

使用top-down CG,你可以通过定义系统的对象以及对象之间的关系来定义该系统,CG还创建了事务对象(business object)以及底层数据库大纲(schema)。Bottom-up CG按照你的数据库设计来创建一套数据类以及事务类(依据数据之间的关系)。你可以按照自己的情况来决定采用CG这两种工作方式的某一种。

如果你必须与其它系统的数据库交互且该系统仍将使用其数据库数据,那么你最好采用bottom-up CG,这样可以简化所需产生的数据类,这也就加快了你的开发过程。不过,我一般更喜欢采用top-down CG,因为它要求设计者在事务层次上预定义关系,而且在创建事务类这一工作上它做的比bottom-up CG好很多,你可以继承这些事务类并扩展你的设计。

DeKlarit:一个不错的top-down CG工具

如果你还没有用过top-down CG,那么我强烈建议你下载DeKlarit工具的试用版。自打我开始使用这个工具已经有好几个月的时间了,但是我还是常常对它的强大功能感到吃惊。你只需定义描述系统的数据元素以及它们之间的关系,DeKlarit就会产生一个完整的事务框架(包括事务类和数据类)以及底层数据库。DeKlarit可以用C#或者VB.NET来生成事务框架,用SQL Server或者Oracle来生成数据库。

DeKlarit有三个优点,这三个优点使它成为系统设计者的利器。首先,你只需设计数据元素之间的关系,DeKlarit就会产生结构良好的、标准化的数据库大纲。其次,如果你修改了事务框架,DeKlarit会重新生成代码并在保留数据的同时重新产生与大纲相匹配的数据库。最后,DeKlarit可以产生测试装具模块(test harness),有了这个模块,你就可以通过用ASP.NET或者Windows窗体插入、更新数据的方式来检查事务框架。尽管市面上CG工具并非只有DeKlarit,但是它的确是所有我在进行.NET开发时所用过的top-down CG工具中最出色的。

何时使用代码生成器

许多开发者强调他们在生产环境中不会使用CG所生成的代码,因为他们对最终产品中存在自己所没有碰过的代码而感到不放心。尽管我理解这种担心,但我仍然认为这是没有必要的。退一步来说,即使在最终产品中不采用CG所生成的代码,CG也是为客户开发详细原型的好工具。如果让CG来产生事务类、数据类和数据库大纲的原型,那么你就可以在这个框架的基础上建立你自己的表示类,这样你就可以快速创建种类众多的功能。至少,通过提供一个完整的原型,CG技术可以帮助你快速的发掘出系统潜在的隐患。如果CG所产生的代码可以让你放心的使用,那么它可以帮你节省数周乃至数月的最终开发和测试时间。 

NET爱好者的福音来啦! Dot Net代码生成器 - NET代码生成利器 - DotNet代码生成器  基于.net framework 2.0 的代码生成器,功能强大,操作灵活,可以生成任何一种代码文件。提供了数据源、模板、另存为、工具、数据扩展5种插件接口。   1、自定义模板。目前只有一个基础模板,是基于XML配置、字符串替换的,不过该模板支持动态调用代码文件进行编译,对要生成的对象进行预处理,以达到个人的目的。后期可以寻找其他更优秀的模板引擎,来提高生成效率。   目前该模板下定义了几个模板文件,比如FaibClass.data的,还有YS.ORMapper,还有生成HTML、生成SQL的。   2、数据源。一改以往代码生成器的一惯作风,只是单一的使用Sql或其他数据源,在这个工具里,可以打开PowerDesign文档,也可以打开ERWin或是Visio(尚在研究阶段)。并且提供了强好的表及字段编辑功能,主键、外键、枚举等都可以自定义。   还提供了架构同步功能。   3、工具。可以集成一些工具于CodeBuilder强大的界面管理中,可以与CodeBuilder进行协作工作,比如提供对表名字段修改、生成的工具。   4、数据扩展。分别为表及字段进行了扩展,可由个人需要实现该接口,将扩展数据附加于表或字段中,生成更丰富的代码。   5、系统托盘。显示托盘时,再次双击CodeBuilder或双击.dsc文件,都会由托盘调入正在后台运行的CodeBuilder。   6、最后在收藏夹中提供了一个IE工具栏插件,可将网页添加到CodeBuilder的收藏夹。   7、在线插件安装。可由爱好者提供插件发布,在线共享优秀插件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值