JiveJdon Community Forums
在线72人   首页   主题总表   培训咨询   精华   查搜   注册    登陆
首页 » 论坛 » 开源JdonFramework及其应用案例论坛
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
1 2 3 Go 总共有 31 回复 / 3
 发表新帖子   回复该主题贴
xinying_ge

悄悄话
发表文章: 58
注册时间: 2006年09月26日 17:33
什么是OO思想 2006年10月18日 14:07 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 oo思维(87)     
看见人家在谈OO思想,我很惶恐,也很迷惘,到底什么是地OO思想!怎么来培养自己的OO思想呢?
请各位和Banq大哥,指点我这个迷惘的羔羊!
banq

悄悄话
发表文章: 9290
注册时间: 2002年08月03日 17:08
Re: 什么是OO思想 2006年10月18日 14:18 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
OO思想简言之,我们谈的 想的 编的 做的 都是围绕一个个对象。

>怎么来培养自己的OO思想呢
了解对象基本概念,对象关系,设计模式, 对象建模,
当然对象框架也必须了解,这是一个渐近过程。
xinying_ge

悄悄话
发表文章: 58
注册时间: 2006年09月26日 17:33
Re: 什么是OO思想 2006年10月18日 14:36 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
如何来把握,我是不是真的理解了OO思想!我还是觉得很迷惘。
DDD这本书我读了一点,我有的地方真的理解不了!是不是没有OO思想呢?
我很喜欢这个行业,用java编程,但如何才能一步步地往高处走,真的很担心,深怕自己误入歧途,很想Banq大哥和各位指点我一下,如何往下走!
banq

悄悄话
发表文章: 9290
注册时间: 2002年08月03日 17:08
Re: 什么是OO思想 2006年10月18日 16:46 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
>DDD这本书我读了一点,我有的地方真的理解不了
前几天在TSS上看到一个老外说了,DDD背后就是设计模式,我认为非常正确。

OO不是靠几本书,或几个程序就能练就的,需要一个过程,如果将大学四年都用来进行培养,还是有可能,可是现在国内四年教育不是这么做的,学生毕业后,就没有自己的四年。

所以....在OO方面,大部分都是一穷二白。

你不用担心,都是在一个起跑线,现在认识到了,起步不晚。

2004年左右,OO在J道论坛还被一些人骂得狗血喷头。唉..
xinying_ge

悄悄话
发表文章: 58
注册时间: 2006年09月26日 17:33
Re: 什么是OO思想 2006年10月18日 20:10 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
Banq大哥,你说现在我认识到,起步不算晚,但如何走步!能不说指点一下?万事开头难,我觉得难就难在怎么开头!
谢谢!
banq

悄悄话
发表文章: 9290
注册时间: 2002年08月03日 17:08
Re: 什么是OO思想 2006年10月19日 09:11 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我走过路可能不适合你, 如何让初学者更快地掌握OO思想也是我一个研究项目,因为我也搞培训.

所以,你得问题也比较难倒我,有一个强制办法:在项目实践中强行使用GoF设计模式,以使自己了解设计模式,再和别人讨论.

为什么推荐从Gof设计模式这个高难度知识入手呢?因为OO思想是一个说了也白说得问题,过去我用禅来打比喻,OO思想是无法象1+1=2那样传授告诉别人得,必须每个人自己体会,那么体会得实践是什么?就是自己在项目中开始有意识使用设计模式.

下面一步就是使用Struts Hibernate之类正宗对象框架,特别是持久层,摆脱数据库得影响,以前我说数据库时代过去了,就是这个意思,为什么搞Swing等图形程序员容易接受OO,因为他们没有关系数据库干扰,而搞J2EE得则经常被数据库和过去数据库编程经验干扰,围绕数据库编程容易导致过程编程,这些都是与OO格格不入的.

关系数据库与OO存在天然阻抗,也就是不匹配,所以我们要使用O/R mapping如Hibernate之类框架来培养帮助我们对抗数据库的干扰,当你知道什么是OO后,再使用JDBC,这时你心目中的JDBC就是顺服于OO思想下的工具了,而不是主导你破坏你OO思想的恶魔.

数据库时代的终结
http://www.jdon.com/artichect/dbover.htm

总之,要走上OO,需要彻底摆脱过去经验对自己的干扰,因为我们国内大学的软件教育基本都是过程化编程思路,自己走上工作岗位后,又都是自觉学习,这些都其实不是OO,这些知识和经验会干扰OO思想的形成,要和他们做斗争,驱赶他们.说白了,就是与自己进行痛苦斗争,蜕变是一个痛苦过程,尤其是思想方法,所以做到的人很少.

坚持下来的人,达到OO彼岸的,唯有真正对软件热爱和有兴趣的.所以考验你是否走上OO思想,就看你的兴趣和毅力.

很多人说搞Java苦啊,其实也是反映这个艰苦历程.

其实,在这个过程中,需要经常和别人讨论,J道等论坛提供这样场所,我们经常看到很多人在论坛讨论技术秘籍问题,而很少提及设计问题,怎么设计好,如何建立一个对象,对象边界在哪里,这些讨论语言包括在J道论坛都很少看到,这只能说明一个问题.....

Evans DDD其实将对象如何建立这个基本问题进行了总结,就如GoF设计模式总结了23个模式一样,这些需要我们不断讨论....


xinying_ge

悄悄话
发表文章: 58
注册时间: 2006年09月26日 17:33
Re: 什么是OO思想 2006年10月19日 09:26 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
谢谢您的回复!
我会努力往这方面走的,我也相信我有这样的恒心!
谢谢您Banq大哥,说实话我从Jdon上学到很多东西!
我会一直关注Jdon!
banq

悄悄话
发表文章: 9290
注册时间: 2002年08月03日 17:08
Re: 什么是OO思想 2006年10月19日 10:51 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
说实话,现在学习OO的环境,无论从理论和实践方面要比我们当初好多了,现在OO在Java领域可谓是瓜熟蒂落了。

如果我们再不抓住的,真的没有必要再做这一行了。

sunxuezhen

悄悄话
发表文章: 5
注册时间: 2006年10月11日 16:48
Re: 什么是OO思想 2006年10月19日 17:12 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我不同你bang的想法,你把OO神化了。并不是所有的问题都需要用OO来解决的。因地制宜才是合理的选择。
banq

悄悄话
发表文章: 9290
注册时间: 2002年08月03日 17:08
Re: 什么是OO思想 2006年10月20日 13:36 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
>我不同你bang的想法,你把OO神化了

是的,有人说OO不是银弹,看看国外TSS网站上老外关于OO争论的一个贴子,特别是一个老程序员说:我近几十年的职业生涯的大部分时间是在挽救修改别人低劣的代码,是不是我们还要再等二十年呢?

http://www.theserverside.com/news/thread.tss?thread_id=42602
grrrr

悄悄话
发表文章: 2
注册时间: 2006年10月24日 20:24
Re: 什么是OO思想 2006年10月24日 20:35 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题

> OO不是靠几本书,或几个程序就能练就的,需要一个过程,如果将大学> 四年都用来进行培养,还是有可能,可是现在国内四年教育不是这么做> 的,学生毕业后,就没有自己的四年。

大学的四年都培养OO?OO确实是企业应用开发的利器,但没必要上升到这个高度吧。所有的大学毕业生们都一个个的java?基础的算法、数据结构才更应该是乘这四年好好学习的东西,我们更缺一些基础的东西。举个最直白的例子,OO领域打的最火的java/.net,不都是美国人鼓捣出来的吗?
grrrr

悄悄话
发表文章: 2
注册时间: 2006年10月24日 20:24
Re: 什么是OO思想 2006年10月24日 20:48 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
当然如果想做应用开发的话掌握好java以及其中设计模式的思想很重要,学java最好的体验是在具体的项目中,比较代码的优劣,总结成败的得失。现在国内也很缺优秀的java开发人员。
但让国内的大学都四年教授java和OO,就觉得过了。
chinsoft

悄悄话
发表文章: 1
注册时间: 2006年10月25日 06:34
Re: 什么是OO思想 2006年10月25日 07:00 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我们不是在讨论OO吗,为什么一定就要把JAVA拉近来。掌握了OO的概念后可以应用在不同的语言上,JAVA只是比较成熟的一个罢了。4年学一个语言当然是crap,一个学期OOP,一个学期00D(用的是JAVA),足以,往后的就靠自己去研究了,当然还有其他高级的OO应用的科目。BANQ提倡了OO,没有限制在JAVA。Data Structure和procedure programming应该是放在OOP/D之后的,这样对OO的概念会有更深的认识,和对DSPP本身更容易理解和掌握。

中国学生就是拜倒在“基础”上了,一提到什么技术就说,把基础打扎实。要的是科学(SCIENCE),基础(fundamental)是科学的训练的第一步就是最容易的,时间应该是花得最少的,真正在research和后面的advanced环节就很少听到中国学生/教师提倡。网上资源无穷,但总是有学子在求书,求代码等等,就是没有research的能力。如果还不意识到这个问题,那就永远停留在基础上面吧。

PS:楼主,很多东西没有真正的对错的,不值得花时间考究什么是“正道”,“误入歧途”也会给你带来有价值的收获。最好的学习方法是用技术去实现自己想要的东西,如一些dream projects,没有目的的去学,就好比为学习而学习。
banq

悄悄话
发表文章: 9290
注册时间: 2002年08月03日 17:08
Re: 什么是OO思想 2006年10月27日 12:46 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
Evans DDD和GOF 设计模式可以说是OO思想实战的左右手。

OO其实要解决两个重要基本问题:对象如何设计创建;对象创建后之间关系如何协调。

Domain Model解决了业务对象如何创建设计问题,也就是业务对象应该怎样从需求中提炼出来成为一个对象,如果没有这一步,我们何以面向对象?或基于对象编程呢?

当对象很多时,如何协调组织他们关系,使得更易于变化,就象中国古代阵法一样,一个阵法应对一种情况的。

这两个基本方法思想掌握了,你的系统就不同于以往传统过程化面向功能的系统了。
chuxuezhe

悄悄话
发表文章: 6
注册时间: 2006年11月28日 10:07
Re: 什么是OO思想 2006年12月06日 09:15 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我来说几句吧,其实所有的design pattern,还有OOD,都讨论同一个问题,那就是当你做一个系统的时候,如果新的需求来了怎么办?你的系统是不是能够不用修改代码或者做最小的修改来满足新需求,(OCP原则),所以围绕这个问题,OO语言,有了他们的解决知道,其实所有的其他过程语言例如c也都可以解决,只不过写出来的代码没有OO语言来的优雅和漂亮,因为是compiler已经支持了那些encap., inherit, poly.特性,所以说白了,也无所谓的是否一定要OO,只要你的解决之道能够,解决OO所优雅解决的问题,也就够了。多想想这个,自然明白了什么是OO。 以上是个人观点。仅供参考 。
这个主题有 31 回复 / 3Go 1 2 3
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam