论坛首页 Java版 企业应用

求证:“一切皆对象”即“一切皆过程”

浏览 10277 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2005-07-22
OO的主要考虑对象当然是“对象”了,但是别忘记OO中的对象不过是对现实存在的抽象。所以我们要弄清楚OO中的对象就首先要对他所抽象的现实世界的存在有所了解。
罗素在他的《哲学问题》中提出了“中立一元论”认为作为构成世界的元素就不是“物”,也非“心”而是“事event”。维根特斯坦走得更远,认为是“事实fact”。而“物”不过是他们的串名。《楞严经》中也有“心物一元论”的说法。万物都是由这些一元元素构成,不管是大到宇宙的来去,小到弦的世界。
抽象到软件中,就是“过程”。那么,如看待“对象”呢?比如“Customer”对象,想一想Customer不是也有生命周期吗?从开户到更改客户信息到销户,他不也是一个"过程"吗?对象当中的属性用变量来表示,变量意味着什么?不是也意味着会变化是“过程”吗?"Account"不也一样吗?同样有自己的生命周期。对象关系也是过程,因为它本身也有生命周期。
因此,我认为软件中“一切都是过程”,“对象”也是“过程”,之所以将这些“过程”分为“对象”,“关系”,“方法”全在与我们观察视角的高度和关心的侧重点。
   
时间:2005-07-22
再次提起TrustNo1说的一句很有气势的话:
T1 写道
凡是觉得自己在软件设计上有啥洞见的,请先翻阅SICP。如果SICP上写了的,说明你生不逢时;如果SICP没写,基本上可以断定你是错的。

或者请看这个blog:
http://ozagile.blogdriver.com/ozagile/831971.html
   
0 请登录后投票
时间:2005-07-22
呵呵,看过了,不过与其叫做“数据”还不如叫作“信息”来得恰当。
代码是“数据”但是代码的描述同代码的实际执行完全是两回事。
   
0 请登录后投票
时间:2005-07-22
partech 写道
呵呵,看过了,不过与其叫做“数据”还不如叫作“信息”来得恰当。

信息系统中的一切都是信息,恩恩,果然是永远正确的英明论断。
   
0 请登录后投票
时间:2005-07-22
gigix 写道
信息系统中的一切都是信息,恩恩,果然是永远正确的英明论断。

呵,实际运行的信息系统里垃圾数据也蛮多的,不是吗?
   
0 请登录后投票
时间:2005-07-22
gigix 写道
再次提起TrustNo1说的一句很有气势的话:
T1 写道
凡是觉得自己在软件设计上有啥洞见的,请先翻阅SICP。如果SICP上写了的,说明你生不逢时;如果SICP没写,基本上可以断定你是错的。

或者请看这个blog:
http://ozagile.blogdriver.com/ozagile/831971.html


不经意间,各位又在热炒SICP,好像大腕里说的,不懂这个,你不好意思和人家打招呼。
让我想起了当年热炒设计模式的时代。不出意外,一样的结果:某些既的利益者的另一块领地。
   
0 请登录后投票
时间:2005-07-22
gigix 写道
再次提起TrustNo1说的一句很有气势的话:
T1 写道
凡是觉得自己在软件设计上有啥洞见的,请先翻阅SICP。如果SICP上写了的,说明你生不逢时;如果SICP没写,基本上可以断定你是错的。

或者请看这个blog:
http://ozagile.blogdriver.com/ozagile/831971.html


别只顾着拿书砸人!

http://spaces.msn.com/members/zbw25/Blog/cns!1pA6-3FOo9yNp_4lmEHxdDqA!310.entry

大家都该认真读书的。
   
0 请登录后投票
时间:2005-07-22
partech 写道
万物都是由这些一元元素构成,不管是大到宇宙的来去,小到弦的世界。
抽象到软件中,就是“过程”。那么,如看待“对象”呢?比如“Customer”对象,想一想Customer不是也有生命周期吗?从开户到更改客户信息到销户,他不也是一个"过程"吗?对象当中的属性用变量来表示,变量意味着什么?不是也意味着会变化是“过程”吗?"Account"不也一样吗?同样有自己的生命周期。对象关系也是过程,因为它本身也有生命周期。
因此,我认为软件中“一切都是过程”,“对象”也是“过程”,之所以将这些“过程”分为“对象”,“关系”,“方法”全在与我们观察视角的高度和关心的侧重点。


不能这样说吧:),万物都是由这些一元元素构成的是不假,要是这样子深究下去就成了,原子构成万物了吧(不知道现在还是不是原子,好久没关注这方面的东西了)。

从本来的面目上说可能OO是过程,但是OO和过程应该是站在不同的角度上去看的吧,OO更加抽象化,过程有点细节化。

OO应该是为了适合人们思考的一种方式产生的,就先你说的这个Customer吧,我们平时考虑的时候一般应该认为它是个对象吧,我们不会一下子就直接看这个对象能够存在多长时间,到底是什么时候出生的,什么时候会死亡,只有当我们要详细的去研究(如果有需要)的时候我们才会去注意到这些东西。

所以OO还是过程是应该看我们看待这个事物的粒度而决定,你从不同方面来看就会得到不同的结果罢了。

打个比方:如果我们有一个10X10X10的一块大石头,我们要把它雕刻成一个大卫的雕塑,一开始可能我们要先进行大体上的规划,然后,拿着那种特大的雕刻工具去修理它,等到了差不多形状都出来了,这个工具不太好用了,有可能一不小心就把不应该去掉的东西去掉了,这时我们应该换个小点的工具了吧,然后再修,以此类推。。。

我觉得这和开发的阶段差不多,每个阶段的角度不同,目的不同,使用的方法不同工具不同,但是从本质上来说都是从同一个根源派生出来的。所以怎么理解应该都可以,这只是本质的不同反映罢了。
   
0 请登录后投票
时间:2005-07-22
庄表伟 写道
gigix 写道
再次提起TrustNo1说的一句很有气势的话:
T1 写道
凡是觉得自己在软件设计上有啥洞见的,请先翻阅SICP。如果SICP上写了的,说明你生不逢时;如果SICP没写,基本上可以断定你是错的。

或者请看这个blog:
http://ozagile.blogdriver.com/ozagile/831971.html


别只顾着拿书砸人!

http://spaces.msn.com/members/zbw25/Blog/cns!1pA6-3FOo9yNp_4lmEHxdDqA!310.entry

大家都该认真读书的。


呵呵,早看了你那篇blog。
简单说,楼主的这个问题,SICP早就已经讲清楚了。至于老庄你的那个问题,SICP的作者们还没有找到一个大统一的解决办法,那么我就当作它在可预见的将来不会有这么一个解决办法。我并不认为找到“大统一”的有可能是老庄你。
   
0 请登录后投票
时间:2005-07-22
嗯,了解了.
   
0 请登录后投票
论坛首页 Java版 企业应用

跳转论坛:
JavaEye推荐