人类如何求解问题
上一节
下一节
假设我们腹中饥饿,想吃番茄炒鸡蛋。求解问题有多种策略:(1)自己动手;(2)求助他人;(3)针对更一般的炒菜问题发明一种通用炒菜机。这三种求解策略,反映了人类求解问题的三种思维模式:过程化、面向对象以及泛型思维。
(1)过程化思维:认为问题求解就是对数据进行加工处理使之达到目标状态的过程。因此,过程化编程需要描述数据以及数据处理过程(输入、处理和输出)。
(2)面向对象思维:认为问题求解是通过对象之间的沟通协作来完成的。因此,面向对象编程需要描述合适的对象以及对象之间的沟通协作过程。
(3)泛型思维:认为通过数据和对象的参数化可以将特殊问题泛化为一般问题,特殊问题可以借助一般问题的求解思路得以解决。因此,泛型编程需要描述:类型泛化的通用问题求解思路,使用通用求解思路解决特殊问题的过程。

