zoukankan      html  css  js  c++  java
  • 漫想“面向对象”和“面向过程”。

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

    时,空间的"转换"。

    空,时间的"切片"。

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

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

    阴,结构,数据。

    阳,行为,算法。

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

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

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

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

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

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

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

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

    就像导演一出戏,

    主线可以有多个,

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

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

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

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

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

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

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

    宇宙之初有道,

    道产生了空间和时间。

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

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

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

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

    一个小故事:

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

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

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

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

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

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

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

    书不尽言,言不尽意。

    希冀有缘,增其上缘。

    若能做引玉之砖,足矣。

  • 相关阅读:
    Project和Module的介绍
    2016-10-27~2016-11-12面试总结
    读写分离的概念(转)
    hashmap和hashtable,arraylist和vector的区别
    如何删除数据库表的重复数据
    Iterator和ListIterator的区别
    性能提升
    Oracle 查询并修改
    oracle数据库中VARCHAR2(50 CHAR) 和VARCHAR2(50) 有啥区别?
    SQL SERVER 2000安装教程图文详解
  • 原文地址:https://www.cnblogs.com/xyicheng/p/1688992.html
Copyright © 2011-2022 走看看