您的位置:首页 > 其它

我对linq的一点看法

2008-06-20 17:53 211 查看
在Linq To Sql推出之前,我们只是把sql语句形成一个string,然后,通过ado.net传给sql server,

返回结果集。这里的缺陷就是,如果你sql语句写的有问题,只有到运行时才知道。而且并不是所有的人都懂

数据库的。Linq To SQl在一切围绕数据的项目内都可以使用。特别是在项目中缺少sql server方面的专家

时,Linq To SQl的强大的功能可以帮我们快速的完成项目。Linq To SQL的推出,是让大家从烦琐的技术

细节中解脱出来,更加关注项目的逻辑。Linq To Sql的出现,大大降低了数据库应用程序开发的门槛,

它实质是事先为你构架了数据访问层,势必将加快数据库应用程序的开发进度。Linq To Sql解放了众多程序

员,让他们的把更多的精力放到业务逻辑以及code上,而不是数据库。对于初学者来讲,Linq To Sql可以

让他们迅速进入数据库应用程序开发领域,节约了培训成本。

这应该是网上最为经典的一段对Linq的评价了.不管别人怎么看,反正我偷摸的对它总是有很多的腹诽(其中一些也是3.0,3.5中的)

1)	杂草一样乱糟糟的代码.这应该是所有刚接触这个东西的人的一个普遍的感觉.不要对这个说”

无所谓”,因为习惯是个很可怕的东西,否则Java程序员也不会一如既往的搞Java,C++的同仁们也是一如既往的

对Java和C#保留着敌对情绪了

2)	杂草带来的方便性.这个是很值得玩味的东西,过分的依赖黑盒子中的东西总是让人们充满了恐惧,另外

就是那些简化的代码结构往往不能满足我们的需求,就拿属性来说,在get的时候,几乎很少会只有一个简简单单

的return,那里面往往有好多业务逻辑存在,这种东西就和聋子的耳朵差不多,有没有是一回事,有用没用是另外

一回事.

3)	新特性带来的代码扩充,这东西会伴随着及其恐怖的规范化问题.所以公司出面封装成底层库就成了

必然的事实了,既然如此,这种”扩充”又和公司以前封装的底层库有什么区别呢?这就跟同居的两个人结婚与否

的区别差不多:没结婚的时候,晚上要XX,结婚了也XX,一个是被官方支持的,一个是为了自己和对方方便偷摸搞

的,仅此而已

4)	Linq所带来的数据访问层,其实这和3中描述的差不多,公司要出面进行封装的,

5)	Sql语句有问题与否,在编译阶段发现还是在运行时发现,两者之间的区别没有什么太大的意义.而且

成熟的公司都有自己的sql组装器一类的东西,所以这个问题可以忽略.除非这个公司的规范化是假的(如果真的

是这样,那么该操心的就不是语言能给我们提供多大的方便性了)

6)	任何新特性的推出,如果在易用性和性能上能够满足商业需求,公司都会对其进行封装,除了业务层和

UI层以外,coder几乎不会涉及到任何其它的东西了.所以这个节约成本也是”想当然的结果”

虽然我天天去吃抻面,但是我的确不喜欢这个味道.同样,虽然我不喜欢linq,但是我们还是会去学它.

写点东西发发牢骚, 只是想告诉大家不要被光环和官方的宣传所蒙蔽.正常人早晚要结婚,正常的.NET程序员也

早晚要学Linq,所以摆正心态和姿态很重要
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: