函数关系和对象关系

 

算法+数据结构=程序。

这是一条很著名的公式。但是我觉得过于简单的公式或者不能适应现在的开发潮流了。

 

程序一个目的是用来模拟人类的行为,让机器自动化处理本来人自己需要处理的事务。

正因为这样,所以程序有很强的“过程性”,把人的步骤转化为计算机指令的序列。

过程性的设计方法,是最原始的方法,是完全模拟人类习惯的一种方法。

但是,其实过程并不是我们关注的重点,我们关注的是结果。只要是这个结果,我们不在乎这个过程究竟是如何实现的。

有没有办法表述这种从输入到结果的对应关系呢?

有,那就是函数。有了函数,我们就将过程给抽象化了,我们再也不关心过程如何,只需要知道这个函数能正常工作就行了。

 

因此函数是过程的抽象。我们可以把人类具体事务,识别成各种函数关系。函数关系是关于定义域和值域的对应方法。建立函数关系,首先要明确的定义域和值域,这表现为数据的状态集合,然后定义转换方法。

 

函数是一个非常高层次的抽象概念,但是过于数学化。我们认识事物的一般方法并不是去定义什么状态集合,而是基于一些归纳了的概念。

 

概念是属性和动作的组合,比如“颜色”是属性,而“飞”是动作。

概念是高度抽象的,有别于具体的对象。通过概念,就可以不关心具体对象是什么,而只需要关心概念的提炼。

从某种层度上来说,概念和函数是异曲同工,都是从高层次上开展编程设计为目的。

 

----------------------------------------------

高层设计的内涵是什么?

第一点是从上到下的设计思路,从概念关系到具体实例。

posted @ 2011-01-17 13:53  诺贝尔  阅读(882)  评论(1编辑  收藏  举报