面向对象与面向过程

10-08-23 esiso
         

面向对象,简单说其实就是把自己搞不定或者自己做起来费时费力的事情委托给值得信任的人来做。

面向对象的基础是社会分工和专业化,java是面向对象的语言,java的API就是一个封装好了的工具对象,开发的很多底层的工作就不需要自己做了,调用他API中的接口或方法就可以了。

现实中很多事情不需要自己亲自动手,专业公司、人都为你封装好了,你需要选择他们,了解他们的长处短处,买过来用或者付费委托外包他们干就可以了。

面向对象其实与市场经济形态一样,社会分工很细,人需要的很多东西直接卖就行了,不用自己做了。

面向过程是事无巨细都自己或自己内部搞定,从基础的底层的东西搞起,自到顶层的应用完全自己搞定。不需要外包和委托他人做。

说C语言是面向过程的语言,我没搞过C语言,C语言没有API吗?恐怕C语言也不是完全面向过程的语言吧?自己从从底层搞多累啊,个人感觉C的封装不如java那么多而已吧?

面向过程与小农经济形态一样,自给自足,每天很忙,吃方面:种地的从播种育苗、插秧、灌溉施肥、除虫除草、收割、晒谷、粮食加工……到成做成米饭这一系列环节自己搞定;吃的菜也是一样,一系列流程,穿方面:种棉花纺纱织布穿衣一系列流程自己搞定,哈哈,农民最忙最辛苦了。面向过程者,相对封闭,不怎么求人。

其实人类的历史是一个从面向过程走向面向对象的历史,面向过程太累了,社会一分工,人就渐渐解脱出来了,现代人的吃、穿、住、用、行都已经面向对象了,吃不会从种地做起,直接买粮食和蔬菜回家做,进一步的连做饭这一过程都省了,直接面向对象----到饭馆里解决。穿也是一样,住,城里人不会自己盖房子了,贪婪的开发商已经为你盖好,你就需要付出大量的钞票就可以了,行的交通工具越来越高级了,步行跑步越来越少。

面向对象与面向过程是一体的两面,是对立的统一,高度面向对象的人是皇帝,吃喝拉撒的生活问题让太监们搞定,治理国家的问题让大臣们搞定,自己面向的过程就很少,除了享受,就是搞战略之用人和决策,要是这一点都面向对象,就彻底是个废物了。

动物是面向过程的,原始人是面向过程的,落后未开发地区的人是面向过程的,表面看很落后,但众多的过程里苦中有乐,而且比较健康。

面向过程之oop到面向方面的aop还有什么面向服务的soa,面向构建,都是一种面向对象,只是不断的封装,再封装而已。但封装有个度,过度封装,人没有参与感,体验不到里面的细节,人就变成废物了。

         

beepbug
2010-09-11 05:40

>>>面向对象,简单说其实就是把自己搞不定或者自己做起来费时费力的事情委托给值得信任的人来做。

LZ第一句话,恐怕就有问题。在OO出来之前,人们早就“把自己搞不定或者自己做起来费时费力的事情委托给值得信任的人来做”,而且早已做得很顺手了。

LZ还得继续看书,然后再下结论。