>我用EJB2从来不觉得噩梦,因人而异吧。我们不能再范睡不着觉怪床歪的事情了。
如果床歪,就是睡不着觉的,你以为你是神7的宇航员呀?
>什么早就有?至少1.x版本没有,Session状态支持也没有,这些我都在Jdon框架说明中写了。
人家不是升级了吗?干嘛抓住小辫子不放?
>我知道你是从来不看我的Jdon框架的,所以,你的眼界就很有小,说话就带小人之语,我就利用admin权限修改你的言论,你不服就自己在你博客上反击吧,我已经经历很多次,至今好像一直活得好好的,因为我掌握真理。
不看jdon眼界就小,你的jdon真Nubility,为了做个“大人”建议所有程序员都看jdon。说实话,我在jdon早期版本就读过它的源代码,但是banq老大你必须承认,那个时候的jdon真的和现在的没法比。记得有一个类(好像是Advice,老大可以查查,可能是2.5或3.x版本),里面4~5个属性都是public的没有提供accessor方法或者final为常量,我最厌恶这种代码,所以放弃了jdon,老大那个时候可是俺的偶像!!!现在jdon升级了,代码写的很漂亮,注释也比较完整。但这是升级以后的,你可以升级,人家也可以,干嘛抓住以前的缺点不放呢?你是admin,你可以修改我的回复,可是这样做只能把我们这些比较资深的成员踢到别的技术社区!

我也是一个Java的初学者,接触的并不多,开始看到这样的帖子,让我很惊奇:"数据库已死"?
就像前面说的,数据库会活的很好!而且以后可能会更好!

实际上,我感觉现在讨论数据库的作用,是可以让它返璞归真了,就是"存取数据的一个库",其他的有关数据处理完全可以交给业务逻辑(比如ActionForm,Action等)来处理,处理完之后交给数据库存起来就ok!

<<不知道我理解的对不对,有不对和欠妥的地方,还请banq老师指正!

>里面4~5个属性都是public的没有提供accessor方法或者final为常量,我最厌恶这种代码,所以放弃了jdon

你就是有些极端,现在Domain Model有些做法又开始重返过去,将属性全部开放,砍去set/get方法,我在嵌入式jme中也大力提倡这种做法。

所以,要有架构向上思维,评价一个东西要有大思维,不要钻小细节,session如果不支持,那么象购物车这些本属于业务功能实现的就只能到表现层借助httpsession来实现,严重违背DDD分层基本原则,我这个才最厌恶。至于Spring里面大量static代码以及Spring本身这些类无法挑选配置等问题倒是其次。

纲举目张,架构上抓住重点,对象生命周期是每个业务框架都必须首先照顾和考虑的,因为这是OO之本,否则做出来的框架就容易导致面向数据库编程,你没看到有人在Jdon早就批判Spring误导数据库编程吗?

作为同时Java中间件的Spring,当初推出时,不利用其创新影响,向传统的关系数据库编程模式挑战,而是向同门框架EJB挑战,窝内斗,迫使很多人对java失望,逃向Ruby/ROR/.NET,在不否认Spring的功绩同时,这些都是其不可饶恕的罪过。

这种不顾大局,只顾私利的短视做法最终损害自己,Java使用量下降,谁都没有好处,给竞争对手以喘息追赶的机会。

[该贴被banq于2008-11-03 15:03修改过]
[该贴被banq于2008-11-03 15:09修改过]

不好意思啊,banq老师,又让您发火了,歇歇火哦。不知道上面的人一直在强调数据库死不死,其实我的意思是说,我们在设计的时候不要考虑数据库,而是参照DDD设计原则,楼上的一直强调数据库的强大而来反驳我的观点,我认为他们是在断章取义,不可理喻.个人看来一直鼓吹spring而无条件的反驳EJB实在是井底之蛙(spring也有优点),枉称自己为大师.太让我失望了.

太让我失望了,太让我失望了,如果以后我的上司是这中人,我只是代码工人,没有一点点发表意见的权利.那么我即使去种田也不干这行了.至少去种田还会有发表意见的权利...

>你就是有些极端,现在Domain Model有些做法又开始重返过去,将属性全部开放,砍去set/get方法,我在嵌入式jme中也大力提倡这种做法。
banq不要曲解,嵌入式要求“小”,代码越精炼越好,当然可以不要set/get。企业应用则不然,编码质量的程序员的基本功,必须按照规范编码。先当好代码工人再谈其他的。细节决定成败,你说是吗?
“如果按照三范式设计数据库,那么面向DB设计和OO设计的domain效果是一样的。”,呵呵也许你不同意,但这是我实践得到的结论,原因是:“消除重复是二者的共同目标。”
另外,按照OO或三范式设计在数据量非常大的统计、汇总、排序的时候性能会很低,因为可能涉及很多关联查询(LazyLoading也不行,统计的时候用不到)。你必须承认无论怎么架构怎么设计,最终都要执行SQL。这个时候需要反范式设计,冗余表和字段就一个不错的办法。总之,理论归理论,真正遇到问题了还要从实际出发。不知山有虎而向虎山行,和明知山有虎偏向虎山行是完全不同的,前者是送死,而后者知道如何对付老虎。
[该贴被cats_tiger于2008-11-03 21:01修改过]

>不好意思啊,banq老师,又让您发火了,歇歇火哦。不知道上面的人一直在强调数据库死不死,其实我的意思是说,我们在设计的时候不要考虑数据库,而是参照DDD设计原则,楼上的一直强调数据库的强大而来反驳我的观点,我认为他们是在断章取义,不可理喻.个人看来一直鼓吹Spring而无条件的反驳EJB实在是井底之蛙(spring也有优点),枉称自己为大师.太让我失望了.

人家理解你的意思,只是说你标题党而已。如果种田你说土地已死化肥万岁,估计你什么也收获不了。
[该贴被cats_tiger于2008-11-03 21:06修改过]

>按照OO或三范式设计在数据量非常大的统计、汇总、排序的时候性能会很低

我说你很少来Jdon了吧,你这些观点我在这里批了很多次,缓存喊得喉咙都破了,DDD+对象缓存是一对法宝。我这里就不多说,奉劝你多看看jdon帖子,你偶尔来来,不知这里变化快啊。

所以,需要学习的东西很多,不要轻易自满,也不要经常妒忌别人,更不能从别人代码中偶尔看到一些public代码,就感到非常厌恶,然后上纲到:“当好代码工人再谈其他”(你对这些倒是很能上纲上线,但是对架构怎么那么...),Jdon框架的1.0原始版在sf.net中就存在,你可以再去看看,是否在框架的核心找出public写法来,不要在util包下找那些工具类来,再加上当时Jdon框架发布匆忙,难免有一些问题,所以,心里有偏见决定眼睛向哪里看,鸡蛋里都能挑出骨头。

所以,只是做好代码工人是不够的,要能够上升到架构层次,否则一辈子做代码工人,自己不觉得痛苦吗?我看这么多年你是没有进步,从和你争论struts1.x struts2就看出你的OO思维相当缺乏,再加上以老卖老,固步自封,相当可怕,这也是J道不欢迎你的原因,那些被赶到其他论坛的所谓高手老手,基本属于你这种类型。

OO思维和数据库思维是水火不容,是两个世界观,就象不同宗教思维一样,每个世界观的人都可以用自己的逻辑解释世界,而且就是这么成长起来的,所以,你看到我的“数据库已死”“Spring虚伪”等言论觉得非常难以容忍,很久不来Jdon论坛也要发言,反唇相讥,你何不好好静心想想,在你自己博客上多写几篇反驳文章,也让自己能够反思一下:别人都在进步,自己是否跟上了,还是只会说风凉话呢(在jdon说风凉话也是需要功底的,因为这里有一个懂行的主持人)?

[该贴被banq于2008-11-04 09:59修改过]

>>OO思维和数据库思维是水火不容

我支持这种说法,最近以来能深深体会!呵呵...好些天没来了,没想到烽火四起啊。
我并不想和谁发起争论,但是的确是看到有些人总爱找事,我相信在"道"上常逛,或者熟悉老师的人都知道,老师所谓的数据库已死是一种思维,一种设计上的思维,说数据库已死,也就是说设计时不要依赖数据库而设计,那么这种死并非说没用!请明确,也请大家以后别再就这个字眼争得口水四溅。

为何总抓住"死"这个字眼不放呢?
你没读过李白的诗篇?李白是不是被你给鄙视过N此?
和别人交谈,连别人最基本的意思都没有弄明白,何必瞎起哄呢?

郁闷,发了一大篇,怎么好象登录时效过了,就丢了…… banq 能不能帮找回来啊,建议提交的东西不管怎么样都先临时保存到一个地方啊……
[该贴被wind13于2008-11-05 11:04修改过]

回忆主要的再发一下吧,唉……

常来看看,但不常说话。

这个话题好象每每提起就会引起双方的争论。

其实我想主要是双方不了解对方的情况,不是有说法是站在对方的立场思考一下吗?支持数据库的可能下面正在使用数据库做项目或者是觉得数据库可以解决一些别的方式难以解决的问题,那么有没有相应的解决方法呢?支持面向对象架构思想的,可能就知道这些问题的解决办法,同时也知道有哪些比数据库方式更好的方面。

那也无谓再争论了,不如做个总结,最好是图表形式的,一图胜千言嘛,比如:
数据库方式 DDD方式
思想: 面向数据表,表格思维,更接近excel,不可否认Excel的普及; 面向对象,更符合人自然的思维
架构: JDBC+存储过程等 EJB3、Spring等
…… (想不全了,也懒得回忆写了,请更权威的人总结吧……)

在此抛砖引玉了,希望banq或各位高手能多总结,少争论啊……论坛这种形式是利于即时的讨论却不太利于知识的总结和归纳,所以希望能将这类普遍的知识点象“设计模式”部分那样进行全面的归纳和总结,最好是图表形式,这样大家都可以从中理解这些知识的内容,而不必每遇争论就要回到原来的某些贴子查看,知识散落于各个小角落中……
另外,就是想说道家的思想,主张上善若水,所以各位如果真的认同,也就不会再非要争个高下了。最近上演的《李小龙传奇》,李小龙虽然研究了武术和道家思想的关系,但自己的行事作风还是锋芒毕露、争强好胜的,如果他在这方面也有一些修为,那就不会英年早逝,也许打打太极拳,修身养性到百年之后,那就真的成了一代大师了,好象张三丰、风清杨(虚构人物),呵呵……

中国有这么伟大的先哲,希望中国的现代人能真正领悟这其中的精髓,将其发扬光大,让人们的生活更加美好、更加文明……

其实我们应该说java已死,或者更进一步:编程语言已死。
开发实际应用时,如何完成业务逻辑才是最重要的,要有大思维,不要钻小节。采用什么语言,用什么框架都是次要的。
业务逻辑的思考方法与具体编程语言的思考方法是不同的。
编程语言已死是一种思维。大家都要跟上这样的想法

楼上"编程语言已死是一种思维。大家都要跟上这样的想法"很好,最近微软在推M语言,是一种面向领域的语言DSL,我在想,无论什么语言,只要掌握面向业务模型的思维,树枝叶能变成一把宝剑,达到心中无剑地步。

这是大思维,写得很好。如果我们还在过分计较Spring虚伪或流失多少Java用户,那么在这种大思维下就相形见绌了。难得Jdon看到这样有大思维的观点,害得我这个倡导大思维的人成天被细节羁绊,也进入了中思维。

软件技术要进得去,直至严谨的代码;也能从代码细节中跳出来,上升到大思维,这才是软件架构的大智慧。

现实很无奈
大环境是这样 个人的力量微不足道
很多东西 没有机会实现
不断地重复 龌龊的设计 龌龊的代码
好在J道能让我保持纯洁的思想