对于目前的编程方式,我们总是喋喋不休的告诉计算机出现什么情况应该怎么做,没完没了。做程序成了做法律条文,我们一遍又一遍的写着这些东西。
想来也真是厌倦这些东西。假如老板让我去做一件事。只需要告诉我做这件事的目的就够了。剩下的事我去办。当然你会说面向对象就是这个设计思路。但我觉得还不够,我觉得应该让机器这个实体就是一个对象。
这话怎么解释呢,别急,慢慢听我说。老板分配给我一项任务,我首先会思考怎么做,这个思考不仅是自己在大脑中搜索,而且还会询问别人关于这件事的建议,包括上网。有了大致的了解之后,我开始行动,活做到一半我遇到了情况A然后我思考解决问题的逻辑,然后寻找解决方法,请注意,遇到问题A并非我事先就想到的,或者说为了解决A我主动去学习,而不是有人事先告诉我遇到应该怎么做。
我将遇到问题—解决问题和解决问题方法—遇到问题区分开来。
我们人类一般是问题前置的,而编程是方法前置的。