




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 这种模式需要一个非常标准的demo,来表达模板中的各个方法的含义和作用。通过改善template或者改善demo,从两方面来改进项目开发的效率,也值得推荐。 如果对Smith Builder的源代码感兴趣,可到的Source Code中下载它的源代码。 5 基于Mindscape NHibernate Designer的NHibernate开发方式在项目中应用了NHibernate作为ORM框架读写数据,再配合Mindscape NHibernate Designer提供的Model-First或Database-First开发方式,也能达到快速开发。 Mindscape NHibernate 使用标准的NHibernate方法来开发数据库应用,作为可视化工具,它改进了数据库字段与实体属性的映射方法,没有用xml文件存储,而直接内嵌到代码中。请参考文章ERP MIS开发 Mindscape NHibernate + MySQL 快速开发入门了解更多的细节。 再到后来接触LLBL Gen后,也了解它提供的NHibernate框架 因为已经熟悉了LLBL Gen Runtime的API接口和方法,所以并没有实际应用LLBL Gen 的NHibernate框架到项目开发中。把代码从一种ORM框架移植到另一种ORM框架,应该说是一种恶梦。何况现在还有更流行的Entity Framework。 请参考文章ERP MIS开发 LLBL Gen NHibernate + MySQL 快速开发入门了解更多细节。 总结:我故意打乱了我使用这些模式开发项目的顺序,也就是无法看出它是什么时候应用到项目中去的。不同的学习阶段有不同的理解,探索,于是会努力寻找一些开发的模式,供自己的团队成员参考。还有更多的技术,比如Entity Framework没有应用过,更新的太快了;Linq to SQL也没有应用到项目中就out了;ASP.N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论