论坛首页 Java企业应用论坛

一次小项目的思考

浏览 52002 次
该帖已经被评为良好帖
作者 正文
   发表时间:2009-08-21  
banq就是一教授,纯理论家,估计很久没有实践过项目了。不信你们到jdon上反驳一下banq试试,没说几句就会被河蟹,呵呵。
所谓数据库已死,一看就知道是标题党写的东西,有本事你别用数据库。既然离不开数据库就别说什么已死这样的P话。DDD有它先进的东西,数据库也有屹立不动的原因,这样极端的理论只有愤青和教授能说的出来。
从实践出发才是硬道理,我用Hibernate有4、5年了,确实享受到了它提供的便利,但是正如楼上所说,如果遇到很复杂的查询、统计,或者和用户遗留数据打交道,那么hibernate就没戏了。所以,具体如何应用技术还是要看实际的项目场景和需求。DDD可以在帮助我们按照OO的思想进行建模和需求分析,但是一旦遇到数据量很大或者性能要求很高的场景,那么数据切分、SQL优化、冗余设计等等就派上用场了。
1 请登录后投票
   发表时间:2009-08-21  
说数据库已死的人,根本不理解DDD的理念。

在商业系统中,数据库毫无疑问是最好的建模模式之一,即有成熟的体系,又有简单的模型。虽然缺乏面向对象的灵活,所以性能方面或许不是最佳,但在可维护性上、后续管理上却有不可替代的优势。

面向对象固然很好,但放到模型领域,还是更简化一些的关系模型显得简洁,古朴。

不是所有东西都追求灵活、强大,很多东西更追求简单。
0 请登录后投票
   发表时间:2009-08-21   最后修改:2009-08-21
楼主去用hibernate去做个总分轧平吧,

横向按账户的借贷方,纵向按科目,科目有借方科目,贷方科目,借贷双方科目,某些科目的借方 要与另外一些科目的贷方相当。
0 请登录后投票
   发表时间:2009-08-21  
我只讲:站在不同的楼顶看不同的风景!
1 请登录后投票
   发表时间:2009-08-21  
在多说一句,关系模型和领域模板根本没有冲突,但是我认为从领域模型到关系模型在复杂项目里面是不可取的。

这里就涉及到怎么设计领域模型的问题,与关系模型无关,甚至于持久化技术无关。
0 请登录后投票
   发表时间:2009-08-21  
logicgate 写道
jdon我以前也去过不少次,那个板桥就是“数据库已死”的坚决鼓吹者。个人认为这种思想太极端。

无论是orm,还是存储过程,都不会这么轻易的死掉。各有各自适合的场景。


确实也是一种比较极端的想法。但,其主要思想,还是在于,面向对象与传统的面向数据的矛盾。
包括之前的几个项目,数据库建模,在初期阶段都占据了比较大的比重,而这种方式,相信也是相当部分公司的现状。从面向对象的角度来说,数据库,只是对象持久化的一种方式,在项目中,需要将对象的各种状态保存下来,所以理论上来说,除了数据库,完全可以保存成其它的形式,如文件。只是现在已经有如此成熟的数据库产品,自然成为保存这些状态数据的一种手段。
当然,像一些报表等,其关心的,可能并非只是数据,还需要大量的数据计算,而数据库,正好也对数据计算提供了强大的支持。
现在,实际上,像xml数据库(当然,oracle,sql server等,也提供了相应的支持),对象数据库,已经在向传统的数据库进行了冲击(当然,冲击可能还谈不上,目前来说,可能也只是蚍蜉撼大树)。
3 请登录后投票
   发表时间:2009-08-21  
ray_linn 写道
楼主去用hibernate去做个总分轧平吧,

横向按账户的借贷方,纵向按科目,科目有借方科目,贷方科目,借贷双方科目,某些科目的借方 要与另外一些科目的贷方相当。

我已经说过,这个,和hibernate并没有什么关系,hibernate的关注点,也并非是这个。
0 请登录后投票
   发表时间:2009-08-21  
rainlife 写道
确实也是一种比较极端的想法。但,其主要思想,还是在于,面向对象与传统的面向数据的矛盾。

不对,从根本上说,二者是一致的!都是为了消除重复。所以那些将OO和关系对立起来的论点不是他们不懂OO就是他们不懂关系。像Banq这样的专家,他什么都懂,所以那篇文章就属于故意激进了。
0 请登录后投票
   发表时间:2009-08-21  
还没找到能代替数据库的东东 .......
0 请登录后投票
   发表时间:2009-08-21  
数据库已死,一个敏感话题,在哪里都引起争执.
起先读到,很有新意,把数据库只当作数据持久的载体,说的不错,所有的业务数据都放进缓存,在内存中去计算.这是一种理想状态,过于极端了,或者说太难做到了.
1 请登录后投票
论坛首页 Java企业应用版

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