GoodShot的专栏

追赶,超越

.NET下数据访问层+webform前台 技术大比拼

转一篇过去的文章,不过还是有些借鉴意义:

现在在.NET下做数据访问层的技术实在是太多了,选择多了就是没有选择。感觉.net对比java还太年轻需要时间来沉淀。java虽然框架多,但优秀的都沉淀下来,想都不用想都知道struts+spring+hibernate ,.net呢?单单一个数据访问就让够让人迷茫了。在ADO.NET2.0方面:SqlDataSource、强数据集(即TableAdapter方式)、手写实体类的方式(像PetShop中的方式,即像CodeSmith这样的代码生成工具生成的代码),Linq框架方面又有在Linq包装下的Linq to Sql、Linq to DataSet、Linq to Entities等方式,在ORM领域,除了Linq to Sq这个轻量级的l外,还有重量级的实体框架(Entity Framework)和在开源方面的NHibernate等。

 

   不做三层,要求不高的小系统不用说首选SqlDataSource这种方式,当然这种没技术海量,不值钱。很多学java认为学c#简单就是因为有这种方式,零代码编程啊,很诱人吧。可是外面做项目的哪有这样用的,也就做毕业设计还不错,一周时间保证搞定。当然不是贬低这种技术,可以说这是我最佩服的微软技术,开发效率是怎么一个夸张了得。不跑题了,用强数据级做轻量级数据访问的三层架构应该是很方便做大型网站好像都用手写实体类方式,见到的好多网站程序都是这样,像Discuz!NT、动易之类的。虽然Linq很强大,可以万般皆Linq,但是我不明白的是真的需要吗?感觉Linq就像是一个大的数据访问平台似的,想要精通Linq的代价也不是一般高的吧,虽然这不是必要的。当然Linq to Sql作为轻量级的ORM还是不错的,虽然要被Entity Framework所取代。年前Linq to Sql之死炒得挺热闹的,导致的结果是,在前景不明确的情况下博客园里学习Entity Framework的热情明显没有当年Linq to Sql那样高涨了。谁叫大家都认为Linq to Sql死了,而Entity Framework才刚诞生,质疑其成熟性。在.NET下的ORM技术应用最广泛最成熟的恐怕要数NHibernate了,这个脱胎于Java领域Hibernate的优秀开源框架。在微软的地盘上能活多久还是个未知数,虽然现在微软很支持开源,像mvc框架采用开源模式,ajax、Silverlight控件包也采用开源模式。但别忘了,ORM微软可是有自家的产品,还一轻一重,居然有两个。可以想像很能容下NHibernate多久呢?

 

   想想最悲剧的要数讲数据访问方面的书,在市面上只有ADO.NET。讲Linq to Sql和Entity Framework的只见到台湾人写的一本。NHibernate根本没见到。

 

   现在知道SqlDataSource、强数据集、手写实体类的方式都有各自的用途。Linq to Sql前途不是很大,可以持观望态度。Linq真的值得煞费苦心去学吗?Entity Framework和NHibernate,现在该学哪个?虽然Entity Framework前途很光明,但现在用NHibernate应该是很多吧,现在开始用Entity Framework的多吗?还有什么时候选择用强数据集,什么时候用ORM好些,或者说现在有了ORM,强数据集就过时了不建议用了。

 

  一个数据访问层就让人崩溃了。在表示层除了现在用的webForm外还有新生的mvc虎视眈眈,再时髦点还有Silverlight等着呢。java只要学好struts就行了ajax呢?本来只用流行的JQuery、Ext就行了,可是微软自家的ASP.NET ajax框架你敢不把优先级放在前面吗?虽然他们的侧重点不同,但恰恰是因为不同才都要学。幸好用Ext js的不是太多,可以不用管了。java方面呢?要不用jQuery,要不用Ext js(jQuery在任何平台都是最流行的,像php、Ruby等,EXt js就不知道怎么搞的在java平台超级流行,在其它平台就一般了,看来程序员的羊群效应也是很严重啊!)。

 

   这还没有说桌面开发方面,还有winForm和WPF也是难解难分。XNA游戏开发、Windows Mobil手机开发、Windows CE嵌入式开发有点远了,就不说了。

 

   真想转学java去,年前就有这样的想法。

 

   struts+spring+hibernate ,再加个JQuery或者Ext Js,太爽了,简单就好,不用像现在这样头大了。

阅读更多
想对作者说点什么? 我来说一句

ASP.NET数据访问层

2014年03月12日 3KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭