论坛首页 编程语言技术论坛

ADO.NET完成的hibernate没有完成的事情

浏览 11553 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (18) :: 隐藏帖 (1)
作者 正文
   发表时间:2009-03-22  
先声明,我不是.Net程序员,但是我看过一些书。

.Net的主流设计方式是表模型。
微软在这个上面花了很多精力。
并且这种设计方式在很多Java系统中存在。
事实证明其存在也是有意义的。

什么ORM什么乱七八糟的。还JDBC。。。.Net哪给你JDBC这么落后的玩意。

楼主,如果做.Net,按微软的提倡的方式即可,没必要扯到Java这摊浑水里面去给自己制造麻烦。
楼上那些ORM和OOD,OOA的家伙可以无视了。只要你能用简便的方式来解决问题就好。
0 请登录后投票
   发表时间:2009-03-22  
魔力猫咪 写道
你实际上是纯面向数据库思考。你脑子里根本没有领域模型的概念。你的认知里所有的数据都是关系表而不是对象。结果项目领域模型变化的时候,你也只愿意改数据库。而根本没有想到其实应该先变化的是Domain,因为Domain的变化,所以数据库才要变化。整个一个本末倒置。
而且你们使用的是纯面向数据库开发。所有的业务逻辑都封到存储过程里头了。在这种开发模式下ORM框架根本不能发挥其优势。如果要发挥ORM的优势,必须面向对象开发。不是用了支持类的语言就是面向对象。

你的数据库改表字段改了,你还是要改你的model的。而DataSet的好处 是数据表名没有改变的情况下,改变其一个字段,只要 还是 select * from 那张表,再fill一下,DataSet中的table不用你改了。其实DataSet已经存储model了。用 个强类型DataSet你就更舒服了。
再何况.Net的 有关缓存有关的技术已经很好了,LINQ已经够你用了。
0 请登录后投票
   发表时间:2009-03-22  
流浪的面包树 写道
魔力猫咪 写道
你实际上是纯面向数据库思考。你脑子里根本没有领域模型的概念。你的认知里所有的数据都是关系表而不是对象。结果项目领域模型变化的时候,你也只愿意改数据库。而根本没有想到其实应该先变化的是Domain,因为Domain的变化,所以数据库才要变化。整个一个本末倒置。
而且你们使用的是纯面向数据库开发。所有的业务逻辑都封到存储过程里头了。在这种开发模式下ORM框架根本不能发挥其优势。如果要发挥ORM的优势,必须面向对象开发。不是用了支持类的语言就是面向对象。

你的数据库改表字段改了,你还是要改你的model的。而DataSet的好处 是数据表名没有改变的情况下,改变其一个字段,只要 还是 select * from 那张表,再fill一下,DataSet中的table不用你改了。其实DataSet已经存储model了。用 个强类型DataSet你就更舒服了。
再何况.Net的 有关缓存有关的技术已经很好了,LINQ已经够你用了。

但是我们在写sp的时候 一般即使是全选了一张表的所有字段,也还是把每一个字段都罗列了出来,不会写select *的
0 请登录后投票
   发表时间:2009-03-22  
流浪的面包树 写道
魔力猫咪 写道
你实际上是纯面向数据库思考。你脑子里根本没有领域模型的概念。你的认知里所有的数据都是关系表而不是对象。结果项目领域模型变化的时候,你也只愿意改数据库。而根本没有想到其实应该先变化的是Domain,因为Domain的变化,所以数据库才要变化。整个一个本末倒置。
而且你们使用的是纯面向数据库开发。所有的业务逻辑都封到存储过程里头了。在这种开发模式下ORM框架根本不能发挥其优势。如果要发挥ORM的优势,必须面向对象开发。不是用了支持类的语言就是面向对象。

你的数据库改表字段改了,你还是要改你的model的。而DataSet的好处 是数据表名没有改变的情况下,改变其一个字段,只要 还是 select * from 那张表,再fill一下,DataSet中的table不用你改了。其实DataSet已经存储model了。用 个强类型DataSet你就更舒服了。
再何况.Net的 有关缓存有关的技术已经很好了,LINQ已经够你用了。

不好意思     我们现在用的还是vs2005    2008这种高级货还没有接触    嘿嘿
0 请登录后投票
   发表时间:2009-03-22  
风花雪月饼 写道
先声明,我不是.Net程序员,但是我看过一些书。

.Net的主流设计方式是表模型。
微软在这个上面花了很多精力。
并且这种设计方式在很多Java系统中存在。
事实证明其存在也是有意义的。

什么ORM什么乱七八糟的。还JDBC。。。.Net哪给你JDBC这么落后的玩意。

楼主,如果做.Net,按微软的提倡的方式即可,没必要扯到Java这摊浑水里面去给自己制造麻烦。
楼上那些ORM和OOD,OOA的家伙可以无视了。只要你能用简便的方式来解决问题就好。

兄弟你说的也不是没有道理,之前我用dataset的处理方式已经用的很习惯了  并且连思维方式都是那种了。 而且我认为dataset,确切的说是ado.net的返回的数据的封装已经很完善了,只是没有相同公司上层的人  决策层的人为什么还非要搞一个spring.net和nhibernate,还需要自己来构造模型层。也不嫌麻烦
0 请登录后投票
   发表时间:2009-03-22  
kimmking 写道
hibernate的核心是oop
dto层和dao层我们一般用工具生成
如果你要简单方便的话,datatable的机制已经足够了

spring.net+nhibernate还是不错的~~
但是他们的point不在你说的这些地方~~

他们的point在什么地方?
0 请登录后投票
   发表时间:2009-03-23  
october731 写道
kimmking 写道
hibernate的核心是oop
dto层和dao层我们一般用工具生成
如果你要简单方便的话,datatable的机制已经足够了

spring.net+nhibernate还是不错的~~
但是他们的point不在你说的这些地方~~

他们的point在什么地方?


个人以为,Hibernate的point:
1.事务容易被容器(server)管理,好的框架下,除了insert和delete需要显示调用dao外(级联除外),其他操作能自动完成(透明持久化).
2.简单对象(POJO)来操作数据,调用对象的get和set外加一些迭代,理论上遍历整个对象树,而且你可以不用记得数据表有什么字段,IDE的辅助会帮你搞定,对于上百个表操作,使用起来简单很多。
3.对象关系基本上是配置型,很多工具可用,很容易推翻数据库设计重来(当然,需要考量,而且这个是不是优点,我也没底,反正我是这么干,不过小组成员也没什么抱怨,因为他们要改动的东西很少)。
4.数据变成对象之后,容易缓存,而且可以借助第三方软件(memcache),将其分布到其他服务器上,集群上应用方便,而且原有的代码理论上可以不用更改,扩展(多台服务器)灵活,不容易受到数据库连接瓶颈影响(当然,也不是完全不受影响,但小很多,除非事务需要,不用经常存储数据库)。重构软件非常灵活。
1 请登录后投票
   发表时间:2009-03-24  
技术没有好坏之分
只要适应你的需求,并且有一定的预见性的满足期需求即可

不要成天的DDD OO挂在嘴边
只要最适合我的,就是最好的。  拜托大家以一种宽容点的心态看待问题
0 请登录后投票
   发表时间:2009-03-24  
gloomyd 写道
技术没有好坏之分
只要适应你的需求,并且有一定的预见性的满足期需求即可

不要成天的DDD OO挂在嘴边
只要最适合我的,就是最好的。  拜托大家以一种宽容点的心态看待问题


让我想起佛家的名言:“菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。”,善哉善哉。
0 请登录后投票
   发表时间:2009-03-25  
能实现需求第一
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics