面向过程是根据系统的需求定义功能,每个功能都要对数据进行一次处理,每个功能都接收一些数据,处理完输出一些数据,这种处理方式也被称为面向数据流处理。
举个简单的例子:我要吃烤鸭,面向过程就是凡事都要我亲力亲为,吃烤鸭,首先要有鸭子,需要什么样的鸭子,去哪找这样的鸭子(概括的比较宽泛点),这些过程都要你自己去完成,那么第一步找鸭子完成了就要第二步,怎么做?需要什么调料,什么刀具,火候要掌握到什么程度,调料要放多少等等,过程比较繁杂。如果我的需求发生改变了,我不想吃烤鸭了,我要吃烧鸡,那么上面的过程要全部修改一遍。
而面向对象直接面向结果就行了。我要吃烤鸭,我不用自己做,我找个对象——烤鸭大厨就行了,剩下的过程交给大厨去做,假如我需求发生改变,我要吃烧鸡,那么直接跟大厨说我需求发生了改变,你去给我做只烧鸡,剩下的全交给大厨就行,至于怎么买鸭子,买什么样的鸭子,要怎么做,需要什么样的调料这些我统统不用考虑了。
再扩大点概念,我要吃烤鸭,我直接去烤鸭店就好了,全聚德也好,鸭掌门也罢,全凭喜好,其他的事情根本不用我去考虑。
所以面向对象与面向过程最大的优势就是:把复杂的事情简单化了,把我们从执行者变成了指挥者。
个人拙见,不足之处还望指正。
|