前言:
高效快速开发是每个程序员追求的目标,但如何做到既高效又能让客户满意呢?我想一个好的团队肯定可以,但如果水平一般,没有太多开发经验的 团队或者是独行侠之流就没有办法了吗?相信有人想到ORM工具,诚然ORM工具能帮助我们实现开发出高效质优的项目,但ORM自诞生之日便遭到很多人的质 疑,效率是ORM的硬伤。当然,在这里我无意评判ORM的功过或诋毁ORM,但至今还有很多人没有用ORM开发项目这是不争的现实。
在我们开发的项目中,特别是以数据存储为基础的项目,数据访问层和业务层存在大量雷同的代码,用ORM工具则根本不需要写这方面的代码,而 如果不用ORM工具的话,写这样的代码既烦琐又无聊,于是代码生成器应运而生。运用代码生成器,以数据库的库表结构为基础,可以快速生成数据访问的相关代 码,极大的提高开发效率,于是代码生成器成了不使用ORM工具开发人员的手中利器,于是各种代码生成器忽如一夜春风来,千树万树梨花开,好不热闹。但很多 人开发的生成器都是为自己或公司的项目设计,无法适用他人。很多人将代码生成器开源,但既便有了源代码自己动手去改也是挺麻烦的,添加或修改生成代码的 类、菜单或按钮,调试、编译等一大堆问题接踵而至到最后不甚其烦。我们需要可自由扩展、架构开放的代码生成器,市面上有很多这样的工具,最常用的如 Code Smith等,只可惜是收费的。
于是.net项目开发工具诞生了,采用插件式结构,可自由扩展而且完全免费。
.NET项目开发工具简介:
.NET项目开发工具是一款采用开放式架构,允许使用者开发和加载不同的插件,以实现操作不同类型的数据库和生成各种风格的代码等。以下为主界面:
我们看一下插件开发和使用的流程:
1.实现相关接口(数据访问、生成SQL代码或生成代码任选)创建插件。
2.加载插件。依次打开 主界面 –> 工具箱 –> 安装新插件 — > 选择插件文件(*.dll) 或 直接将插件文件复制到系统的插件目录(PlugIns),系统会自动监测到新的插件并提示是否载入,选择“是”将载入所有插件,然后打开 系统配置,然后新建或打开某一配置方案,可在相关插件列表中预览插件相关信息。选择插件完成配置后,打开刚刚创建或修改的配置方案。以下为相关图示:
如果你对插件开发感兴趣的话,请往下看。
相关接口简介:
1.数据访问接口。
.数据查询接口(PlugInInterface/IDataAccess),目的以实现不同类型、版本的数据库访问(如支持SQLServer2000,SQLServer2005,SQLServer2008,MySQL,Oracle等)。
2.生成SQL代码接口。
.生成SQL脚本接口(PlugInInterface/IGenSQL),目的以实现针对不同类型、版本的数据库生成SQL脚本(如支持SqlServer2000,SqlServer2005,SqlServer2008,MySql,Oracle等)。
3.生成代码的接口。
.生成程序代码接口(PlugInInterface/IGenSymLanguage),目的以实现生成各种风格的代码(如简单三层,PetShop结构或其它架构的代码)。
4.数据库实体对象接口。
.数据库实体对象接口(PlugInInterface/IEntities目录中一系列实体对象接口),用于描述数据库对象的基本特征(如数据 库、表、视图、存储过程、自定义函数等),现已经实现了默认的对象实例(PlugInInterface/Entities目录中)。可根据数据库异同, 从默认的对象实例继承重写相关属性和方法。
插件开发:
1.数据访问插件。
实现IDataAccess接口创建数据访问插件。有关IDataAccess接口详细介绍,请查看IDataAccess类注释。
2.生成SQL插件。
实现IGenSQL接口创建生成SQL插件。有关IGenSQL接口详细介绍,请查看IGenSQL类注释。
3.生成代码插件。
实现IGenSymLanguage接口创建生成代码插件。有关IGenSymLanguage接口详细介绍,请查看IGenSymLanguage类注释。
4.数据库实体对象运用。
数据库实体对象描述数据库对象的基本特征,所以在开发插件前,请详细了解实体对象及实体之间的关系,才能方便的开发相关插件。
5.插件开发与解决方案。
.相关工程采用C#,VS2008,.net 3.5开发,请配置相关开发环境先。
.打开VS2008,创建一个空白的解决方案。
.添加现有项目Common和PlugInInterface加入解决方案中,在项目PlugInInterface中添加Common的引用(点击下载插件项目源代码)。
.创建一个新的项目,作为开发插件之用(如项目名称为PlugIns2),添加项目Common和PlugInInterface的引用,编译通过即意味着可以开发插件了。
.开发相关插件,请先查看相关接口详细说明及相关文档资料,特别强调一定要设置新插件的自定义属性PluginInfo的GUID号,点此查看。
.项目PlugIns仅用作开发插件的示例参考,开发不同类型的插件,请参考PlugIns中相关的插件示例。
.插件开发完成且发布成功后,需要安装插件并重新创建或修改某一配置方案。
.如开发过程遇到麻烦,可直接联系本人。
其它说明:
.本着开放与分享的精神,建议与他人共享你的开发成果,惠已以及他人,唯有如此,才能形成一套完整的插件体系。
.以下为目前计划将要开发的插件(打√者为已经实现的插件):
数据查询插件系列:
SqlServer 2000(√),SqlServer 2005(√),SqlServer 2008(√)
MySql 5.1(√)
Access
SqlLite(开发中..)
Oracle
DB2
其它数据库…
生成SQL脚本插件:
SqlServer 2000(√),SqlServer 2005(√),SqlServer 2008(√)
MySql 5.1(√)
Oracle
DB2
其它数据库…
生成程序代码插件:
PetShop三层架构(√)
其它架构代码…
相关下载: