精华帖 (0) :: 良好帖 (0) :: 新手帖 (18) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-22
先声明,我不是.Net程序员,但是我看过一些书。
.Net的主流设计方式是表模型。 微软在这个上面花了很多精力。 并且这种设计方式在很多Java系统中存在。 事实证明其存在也是有意义的。 什么ORM什么乱七八糟的。还JDBC。。。.Net哪给你JDBC这么落后的玩意。 楼主,如果做.Net,按微软的提倡的方式即可,没必要扯到Java这摊浑水里面去给自己制造麻烦。 楼上那些ORM和OOD,OOA的家伙可以无视了。只要你能用简便的方式来解决问题就好。 |
|
返回顶楼 | |
发表时间:2009-03-22
魔力猫咪 写道 你实际上是纯面向数据库思考。你脑子里根本没有领域模型的概念。你的认知里所有的数据都是关系表而不是对象。结果项目领域模型变化的时候,你也只愿意改数据库。而根本没有想到其实应该先变化的是Domain,因为Domain的变化,所以数据库才要变化。整个一个本末倒置。
而且你们使用的是纯面向数据库开发。所有的业务逻辑都封到存储过程里头了。在这种开发模式下ORM框架根本不能发挥其优势。如果要发挥ORM的优势,必须面向对象开发。不是用了支持类的语言就是面向对象。 你的数据库改表字段改了,你还是要改你的model的。而DataSet的好处 是数据表名没有改变的情况下,改变其一个字段,只要 还是 select * from 那张表,再fill一下,DataSet中的table不用你改了。其实DataSet已经存储model了。用 个强类型DataSet你就更舒服了。 再何况.Net的 有关缓存有关的技术已经很好了,LINQ已经够你用了。 |
|
返回顶楼 | |
发表时间:2009-03-22
流浪的面包树 写道 魔力猫咪 写道 你实际上是纯面向数据库思考。你脑子里根本没有领域模型的概念。你的认知里所有的数据都是关系表而不是对象。结果项目领域模型变化的时候,你也只愿意改数据库。而根本没有想到其实应该先变化的是Domain,因为Domain的变化,所以数据库才要变化。整个一个本末倒置。
而且你们使用的是纯面向数据库开发。所有的业务逻辑都封到存储过程里头了。在这种开发模式下ORM框架根本不能发挥其优势。如果要发挥ORM的优势,必须面向对象开发。不是用了支持类的语言就是面向对象。 你的数据库改表字段改了,你还是要改你的model的。而DataSet的好处 是数据表名没有改变的情况下,改变其一个字段,只要 还是 select * from 那张表,再fill一下,DataSet中的table不用你改了。其实DataSet已经存储model了。用 个强类型DataSet你就更舒服了。 再何况.Net的 有关缓存有关的技术已经很好了,LINQ已经够你用了。 但是我们在写sp的时候 一般即使是全选了一张表的所有字段,也还是把每一个字段都罗列了出来,不会写select *的 |
|
返回顶楼 | |
发表时间:2009-03-22
流浪的面包树 写道 魔力猫咪 写道 你实际上是纯面向数据库思考。你脑子里根本没有领域模型的概念。你的认知里所有的数据都是关系表而不是对象。结果项目领域模型变化的时候,你也只愿意改数据库。而根本没有想到其实应该先变化的是Domain,因为Domain的变化,所以数据库才要变化。整个一个本末倒置。
而且你们使用的是纯面向数据库开发。所有的业务逻辑都封到存储过程里头了。在这种开发模式下ORM框架根本不能发挥其优势。如果要发挥ORM的优势,必须面向对象开发。不是用了支持类的语言就是面向对象。 你的数据库改表字段改了,你还是要改你的model的。而DataSet的好处 是数据表名没有改变的情况下,改变其一个字段,只要 还是 select * from 那张表,再fill一下,DataSet中的table不用你改了。其实DataSet已经存储model了。用 个强类型DataSet你就更舒服了。 再何况.Net的 有关缓存有关的技术已经很好了,LINQ已经够你用了。 不好意思 我们现在用的还是vs2005 2008这种高级货还没有接触 嘿嘿 |
|
返回顶楼 | |
发表时间:2009-03-22
风花雪月饼 写道 先声明,我不是.Net程序员,但是我看过一些书。
.Net的主流设计方式是表模型。 微软在这个上面花了很多精力。 并且这种设计方式在很多Java系统中存在。 事实证明其存在也是有意义的。 什么ORM什么乱七八糟的。还JDBC。。。.Net哪给你JDBC这么落后的玩意。 楼主,如果做.Net,按微软的提倡的方式即可,没必要扯到Java这摊浑水里面去给自己制造麻烦。 楼上那些ORM和OOD,OOA的家伙可以无视了。只要你能用简便的方式来解决问题就好。 兄弟你说的也不是没有道理,之前我用dataset的处理方式已经用的很习惯了 并且连思维方式都是那种了。 而且我认为dataset,确切的说是ado.net的返回的数据的封装已经很完善了,只是没有相同公司上层的人 决策层的人为什么还非要搞一个spring.net和nhibernate,还需要自己来构造模型层。也不嫌麻烦 |
|
返回顶楼 | |
发表时间:2009-03-22
kimmking 写道 hibernate的核心是oop
dto层和dao层我们一般用工具生成 如果你要简单方便的话,datatable的机制已经足够了 spring.net+nhibernate还是不错的~~ 但是他们的point不在你说的这些地方~~ 他们的point在什么地方? |
|
返回顶楼 | |
发表时间: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),将其分布到其他服务器上,集群上应用方便,而且原有的代码理论上可以不用更改,扩展(多台服务器)灵活,不容易受到数据库连接瓶颈影响(当然,也不是完全不受影响,但小很多,除非事务需要,不用经常存储数据库)。重构软件非常灵活。 |
|
返回顶楼 | |
发表时间:2009-03-24
技术没有好坏之分
只要适应你的需求,并且有一定的预见性的满足期需求即可 不要成天的DDD OO挂在嘴边 只要最适合我的,就是最好的。 拜托大家以一种宽容点的心态看待问题 |
|
返回顶楼 | |
发表时间:2009-03-24
gloomyd 写道 技术没有好坏之分
只要适应你的需求,并且有一定的预见性的满足期需求即可 不要成天的DDD OO挂在嘴边 只要最适合我的,就是最好的。 拜托大家以一种宽容点的心态看待问题 让我想起佛家的名言:“菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。”,善哉善哉。 |
|
返回顶楼 | |
发表时间:2009-03-25
能实现需求第一
|
|
返回顶楼 | |