ERP/MIS开发 工作多年后积累的五种信息化软件开发模式

工作几年后的积累,经历大大小小的数个项目开发,积累了以下几种软件开发的模式和方法。
全部以Northwind数据库为例子,来比较几个开发方式的主要区别和着重点,更详细的内容请参看博客文章。
这里的开发模式,仅仅以代码的书写方式来比较。比如使用LLBL Gen框架,则大部分的时间在开发业务逻辑;
基于ASP.NET应用代码生成器的方式,适合于项目初期,一点点的加表,加字段,与数据读写相关的代码则可以直接的从代码生成器中拷贝代码;基于Repository Factory的方式,会大量应用到存储过程;基于Code Smith的方式,先拷贝一分标准的项目的demo代码,以获取项目的基础结构,再根据需要,从需求中分离出数据读写要求,拷贝代码。

1 基于LLBL Gen的ORM开发方式

创建SQL Server的数据库连接,使用集成认识方式

添加需要进行数据读写的实体,建立实体与数据库表的映射关系。

新建立一个Windows Forms的项目,给窗体添加一个DataGridView控件,在窗体的FormLoad事件中写如下代码
DataAccessAdapter adapter=new DataAccessAdapter();
EntityCollection customer = new EntityCollection();
adapter.FetchEntityCollection(customer,null);
dataGridView1.DataSource = customer;

项目结构图如下

 

2 基于代码生成器的开发方式

这种方式是基于单个文件或数据表来设计的,所以需要自己手动添加项目结构。

项目的结构如下

这种模式,本质上还是Db-script 的方式,拼凑SQL语句,发送到数据库中以进行数据读写。

3  微软轻量级代码生成器 Repository Factory

有微软的企业库,再配上这款代码生成工具,开发速度也很快.

最终的数据访问代码,看起来是这个样子

ICustomersRepository repository = RepositoryFactory.Create(“Northwind”);
List customers = repository.GetAllFromCustomers();
dataGridView1.DataSource = customers;  

请参考文章《微软轻量级代码生成器 Repository Factory》来了解这种模式的开发步骤。

4  基于Code Smith模板的开发方法

自己手写的代码生成器,ASP.NET应用代码生成器,常常经不起需求的变化,升级生成的模板代码也会遇到阻碍。
比如,要给生成的实体加上序列化支持,则需要改动代码并重新编译,自认识Code Smith后,才明白模板生成的威力

这是一套ERP/MIS的模板,Build All.cst可以生成所有项目所需要的文件,从Model实体,到数据访问接口Contract和SqlClient实现,再到Web UI和Windows UI,可以自动化生成的地方都用模板来生成。
曾经在ERP/MIS开发中,写过一个批量生成模板的插件工具,Smith Builder

 

5  基于Mindscape NHibernate Designer的NHibernate开发方式

在项目中应用了NHibernate作为ORM框架读写数据,再配合Mindscape NHibernate Designer提供的Model-First或Database-First开发方式,也能达到快速开发。

因为已经熟悉了LLBL Gen Runtime的API接口和方法,所以并没有实际应用LLBL Gen 的NHibernate框架到项目开发中。把代码从一种ORM框架移植到另一种ORM框架,应该说是一种恶梦。何况现在还有更流行的Entity Framework。
请参考文章《ERP MIS开发 LLBL Gen NHibernate + MySQL 快速开发入门》了解更多细节。

总结:我故意打乱了我使用这些模式开发项目的顺序,也就是无法看出它是什么时候应用到项目中去的。不同的学习阶段有不同的理解,探索,于是会努力寻找一些开发的模式,供自己的团队成员参考。还有更多的技术,比如Entity Framework没有应用过,更新的太快了;Linq to SQL也没有应用到项目中就out了;ASP.NET MVC也一直没有在项目中使用过……故意把这些我并不了解和熟悉技术引出来,打击一下自己,是为了引出最后一句结论:无论应用何种技术或方法,把公司的任务按时做完,及时交付项目,就是应用了最好的技术和方法。

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树首页概览31990 人正在系统学习中 相关资源:优优-群化软件5.6.rar-互联 文档类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2011年7月19日
下一篇 2011年7月20日

相关推荐