易简.道(ething)

爱在进行时
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

漫想“面向对象”和“面向过程”。

Posted on 2010-03-18 15:26  如是如是  阅读(1090)  评论(16编辑  收藏  举报

 

软件就像一段时空的剧本,程序员是编剧,也是导演。

时,空间的"转换"。

空,时间的"切片"。

 

有人说软件=结构+行为,也有人说软件=数据+算法。

中国人的思维中,万物皆一气,轻清喜动者,强说为阳。重浊喜静者,视其为阴。

阴,结构,数据。

阳,行为,算法。

 

在时空的剧本中,孤阴不生,孤阳不长。

光有数据,那是静态的库表。

光有算法,算法也就失去了依靠。

阴中有阳,阳中有阴。结构(数据)的变化,就是行为(算法);行为(算法)的切片投影,就是结构(数据)。

 

面向过程,着眼于行为(算法)。

面向数据,着眼于结构(数据)。

面向对象,一个对象中有结构(数据),也有行为(算法)。

面向过程、面向数据、面向对象,根本区别在于着眼点的不同,着眼的层次不同。

 

就像导演一出戏,

主线可以有多个,

你可以从事件的角度,也可以从人物的角度。也可以事件、行为综合起来叫"对象"的角度。

 

横看成岭侧成峰,远近高低各不同。

客观世界中峰即是岭,岭即是峰。在主观的世界里,峰是峰,岭是岭。视角不同。

 

计算机世界中的010101,可以是结构(数据),也可以是行为(算法),也可以把结构行为,捏合到一起,叫"对象"。

单独把结构(数据)捏合起来,叫数据库。单独把行为(算法)凑到一起,叫事件库。

 

方便你学习,方便你应用,适合你的。就很好了。只是角度不同,没有优劣之分。

时、空、位,当位则正,非位则邪。

 

宇宙之初有道,

道产生了空间和时间。

空间和时间便是编程设计之阴阳。

不能领悟此道的编程者总是耗尽他们所要编写的程序的时间和空间 ;

而领悟了此道的编程者却总有足够的时间和空间来达到他们的目标。

除此之外,难道还有其他的情形吗?

 

一个小故事:

 

在去硅谷的路上,硬件碰上了软件,

软件说:"你是阴,我是阳。如果我们携手同路,我们将闻名于世,并能赚大笔的钱。"

于是,这一对阴和阳便一同往前走,想着如何征服世界。

不一会儿,他们遇到了固件,他衣衫褴褛,手里拄着根带刺的拐杖,蹒跚地走着。

固件对他们说:"道存于阴、阳之外。它默默无闻,静如止水。它不追求名誉,所以没人知道它的存在 ;

它不追求财富,因其自身完整圆满。它存在于空间和时间之外。"

软件和硬件,自觉惭愧,便各自回家去了。

 

书不尽言,言不尽意。

希冀有缘,增其上缘。

若能做引玉之砖,足矣。