软件开发之道——演绎思维到归纳思维的转换

从面向过程到面向对象是一种思维方式的转变。面向过程是演绎思维,从一般到特殊,是由上而下的解决一个问题;而面向对象是归纳思维,从特殊到一般,是由下而上的描述一个问题

我们可以看到现代软件工程也是逐渐的从演绎向归纳变化:

  1. 面向过程是演绎思维,因为其关注的是流程,具体的怎样解决一个问题,表现为函数的逻辑组装。 面向对象是归纳思维,其关注的是对象建模,先抽象出共性和对象之间的关系。
  2. 同步编程是演绎思维,所谓同步就是一根筋,把问题分解为几个步骤,每一步都依赖于上一步的结果。 异步编程是归纳思维,整个系统通过异步事件驱动,所以要先抽象出事件模型。
  3. 瀑布模型是演绎思维,计划式的开发,一开始就关注具体的业务,每一步计划都依赖于上一步的计划,从一开始就希望控制整个过程。 敏捷模型是归纳思维,演进式的开发,要求从一开始归纳出最基本的Task,然后逐渐演化到更具体的业务,其实和面向对象从接口到具现类是一个道理

Comments