究竟什么是POJO

JAVA 领域的概念实在太多了,有些概念把人给搞糊涂了。
大家一起总结下,下边的概念代表什么意思:
VO:值对象,主要用于表现层和业务服务层
PO:持久对象,主要用于持久层
TO:传输对象,不太清楚用法
BO:业务对象,就是业务服务层对象
POJO:网上的解释是,普通的JAVA对象,区别于EJB。我还是不太明白。
DAO:数据访问对象。

不要就结果看看结果,这些这么多O,都是不同OO思维决定,比如你说的VO:值对象,主要用于表现层和业务服务层
这个就与Evans DDD中VO定义不符合,那么就可能成为你阅读理解代表正确OO思维的DDD障碍。

乘你OO思想还很纯洁,就赶快学习DDD,不难,本站大量DDD思想,正规大路你不走,偏偏去绕弯路,还来一些歪门邪道的名词来这里问。

关于POJO,就是Java Class和Java Object,本站有相关讨论,可以参考,POJO只是一个时代名词,现在技术都是POJO了,那么这个名词也就失去意义,就象如果大家都进入共产主义,共产主义这个名词就没有意义了。

>>正规大路你不走,偏偏去绕弯路,还来一些歪门邪道的名词来这里问。

你这样说太极端了吧。你倡导你自己的DDD思想,没有必要攻击别人的东西。想想什么叫求同存异,这些并不是什么歪门邪道的名词,都是行业领域很常见的,也是国内外行业资深专家提到的(我不会说老外就是权威,但我也不认为你就是权威,真理是需要用实践去检验)。

不清楚自然就要问,你不会为了你的培训,为了更多的人认同你的思想。而在这里攻击别人,或者在你的论坛上不能提别的问题。我觉得你越是这样,越难树立自己的权威。而且这个世界上根本就没有所谓的权威,任何科学的进步都是在一个团队,一个领域的人的共同推动下进步的。

你倡导你的DDD,我不反对,我也认为这没有什么不好,但你把它认为是正规道路,别人提一个问题你就觉得是绕弯路,歪门邪道。是不是太过分了。

说实话,我来这个论坛不到3个月,是为这里有一帮对技术比较创新,比较钻研的朋友所吸引。。并不是为了DDD。也不是因为你的论坛。

我觉得你实在太小气了,论坛是一个开放的技术交流平台,你不愿意回答我的问题就算了,没有必要这样攻击别人。好像别人欠你什么一样。
[该贴被spikeme于2009-05-15 11:07修改过]
[该贴被spikeme于2009-05-15 11:07修改过]

>>我觉得你实在太小气了,论坛是一个开放的技术交流平台,你不愿意回答我的问题就算了,没有必要这样攻击别人。好像别人欠你什么一样。

呵呵,兄弟啊,你问的有些问题已经是过去式了,banq老师的心意是好的,也是希望你能快速进步,再说了,我也觉得他没有攻击你的意思,只是告诫你别走弯路啊。

ps:你想想,banq老师倡导DDD,倡导云计算,倡导缓存为的是什么啊?难道他倡导这些,能让他有更多的money,NO!他也是为了更多的国人能了解一下国外的新的思想,并且我认为这种思想很不错。再说了这些思想不是banq老师自己提出的,是国外一些先进的思想。Google通过云计算对抗微软,而目前google又通过opensocial同时对抗微软和facebook open app.我相信这些技术会得到广泛的应用。无论是opensocial还是facebook open app都会给互联网带来革命性的变化。

>你这样说太极端了吧。你倡导你自己的DDD思想,没有必要攻击别人的东西。想想什么叫求同存异,这些并不是什么歪门邪道的名词,都是行业领域很常见的,也是国内外行业资深专家提到的

真是好心当驴肝肺了,我们在这里倡导至简大道,低调回答每个人的问题,有些人就以为我们这里是问答机,根本不知道他有幸运来到大道论坛,真是不开眼啊。

名可名,非常名,以为DDD是个名词,就可以与其他名词并列吗?以为OO是个名词,就能与其他名词并列,并以所谓求同存异要求吗?道可道,非常道,不寻常的道,是很多人国外国内很多勇于创新经验之道。

大道至低,我们低调回答你各种问题,你就以为我们是下水道吗?你把江海看成下水道,这就叫不开眼,你多用google吧,中国Java论坛不只jdon一个,等上了层次再来,送客。

我可以肯定告诉你,Jdon思想是国内最先进的,不是任何教授权威和国内外行业资深专家们所能比拟的,Jdon思想先进性不是盲从国外思想,而是不断发展借鉴国外最新思想,甚至有时走到国外前列,不要以为中国软件全部不如外国软件。Jdon几年来无私宣扬先进思想,你看看成长多少程序员,他们是否有一个人指出Jdon倡导思想是误导性的,是走弯路!你可以调查一下。

关于我的培训都是针对性业务培训,也就是针对具体企业单位情况进行培训,如果你们企业有象xmuzyu这样会学习的人,Jdon开放论坛资料已经就可以教会他,甚至超越我,无需我再上门指导式培训咨询。这是一个全新服务模型,软件资料书籍全部免费,没有隐藏,就看你能不能懂,就看你愿不愿按照Jdon的指引去学习,你不愿意,或者愿意了也学不会,或者想短时间内学会,当然需要请我去做集中式培训,难道这个网站运营不需要费用吗?你付给我的培训费用,实际就是在做善事,支持我以及Jdon网站不断走下去,开放下去,这种模式有问题吗?

所以,我们回答了你那么多问题,帮助你进步那么多,不懂得感恩,我回答你时稍微带点刺,你就狗急跳墙一样,何来道德?何来做技术?先去做人,懂得感激。


[该贴被admin于2009-05-15 12:11修改过]

你说的这些×O都是分层架构里,为了区分它们是在那个层里来使用而起的名字,他们都属于POJO。只是根据功用和所工作的层给细分了而已。banq老师的一些讲解不适合初学者来学,这些得等你实际有了开发项目的经验,你才发现DDD的好处,好多人就是struts+spring+hibernate,然后spring管理一些service,service里面就直接调用hibernate来CRUD,所有业务逻辑都是映射到sql语句上,这样就成了以数据库模型为前提为基础,系统架构就成了先建表设计表结构为基础了,是落后的早先的模式。
我也是初学者,也正在学习,你多看些帖子,你会体会深刻了。

现在也有好多系统可以自动生成代码,直接生成struts代码和spring,来实现对一个表的CRUD,可以直接生成,确实快了很多,但是这只能适用于业务逻辑不复杂的情况,其实刚好是南辕北辙的一个东西,不是捷径。如果软件就是分几个层,每一层的代码都一样的,那软件不就成“硬件”了,不就成固定的了。软件是有生命周期的,也有有扩展性的。我也是菜,个人观点

>>好多人就是Struts+spring+hibernate,然后Spring管理一些service,service里面就直接调用Hibernate来CRUD,所有业务逻辑都是映射到sql语句上,这样就成了以数据库模型为前提为基础,系统架构就成了先建表设计表结构为基础了,

严重同意兄弟的说法。如果采用DDD建模,最后肯定有一个结构良好的对象模型,这样以来自然而然就要用到缓存.

>好多人就是Struts+spring+hibernate,然后Spring管理一些service,service里面就直接调用Hibernate来CRUD,所有业务逻辑都是映射到sql语句上,这样就成了以数据库模型为前提为基础,系统架构就成了先建表设计表结构为基础了,

非常正确,所以Spring虽然和EJB2窝里斗取得胜利,表面上推广了POJO,但是离开业务的POJO有意义吗?本来名词叫土豆,你改个名字叫红薯,有本质改变吗?

这种垃圾翻把戏今天还有很多人没有看透,更有所谓专家用POJO误导一大批,如果你的POJO象API名词那样让很多人懂也就算了,偏偏没人给个权威解释,然后满嘴POJO,那个专家和你谈POJO,他为什么不解释呢?害得你跑来Jdon询问,所以,POJO背后就是典型的鹦鹉学舌,没有任何意义的自我标榜,就象"My god"单词一样。

有人说POJO代表轻量,那么我问你什么是轻量?多少重为轻,这又不是rod大叔自己出来说嘛,他说tomcat轻,JBoss/Websphere重就重,他说OSGI比EJB轻就轻,那我们就听他好了,但是我们的业务呢?

我们要求有一个能根据业务选择具体技术平台的思想和方法,而不是单纯就技术谈技术。否则技术那么多发展那么快,你一辈子都学不完。关键你是找到学习根本大道。

>现在也有好多系统可以自动生成代码,直接生成Struts代码和Spring,来实现对一个表的CRUD,可以直接生成,确实快了很多

这个就是Evans DDD开篇就批判的旁门左道的快速开发方式,所以,你不开篇就学习DDD这样思想,你花了10年力气可能在旁门左道上,值吗?别人提醒你,你不以为然,这就是老子道德经中说的“愚民”。
[该贴被banq于2009-05-15 15:57修改过]

坛主该注意自己的说话了。在这里,你是主人,来的全是客。怎么能不讲一点待客之道呢?
连待客之道都搞不清楚,那如何能体会老子的道呢?做IT,首先是做人。
靠粗鲁与谩骂,是无论如何也成不了大师的。

有一句话叫 条条大道通罗马,楼主是想去罗马还是要选择去罗马的路那??其实只要楼主选择好方向,不怕困难,勇于实践,一定可以在领域内获得成功的。大音稀声,大巧若拙,大智若愚。世间的事情贵在坚持。

1)版民老老实实提问,你上来就是“正规大路你不走,偏偏去绕弯路,还来一些歪门邪道的名词来这里问。”就算他不该在这里问,你也该好好说话啊。
2)“VO、PO、TO、BO、POJO、DAO:”,请问,哪个是“歪门邪道的名词”?
3)“正规大路”是要众人说是,才是的。
4)“我们在这里倡导至简大道,低调回答每个人的问题”,你说得很好,请按你自己说的做。

>>>Java Class和Java Object
没找到这个。

有两个POJO:
Plain Ordinary Java Object,Plain Old Java Object
不知道哪个对?
[该贴被beepbug于2009-05-15 21:04修改过]

自己没什么技术经验就不要自以为是。要相信j道教给我们的是先进的东西。支持j道越办越好。

说一点自己学习的体会:在学习自己不懂的东西,特别是有一个非常好的老师指导的情况下,这时候首先一定要相信要学的东西它就是正确的。老师说的也是正确的,像婴儿学步一样,先把知识按照老师的要求扎扎实实学到手,等学到一定水准了,对所学习的东西认识深刻了,再提出自己的疑问。往往此时能够达到最好的效果。学习就像小学生一样。对知识一知半解的时候,提出的问题可能很片面。
[该贴被greentree于2009-05-16 08:51修改过]
[该贴被greentree于2009-05-16 08:53修改过]