面向对象和面向过程的区别[转]

简介: 一、系统的构造内容不同。面向对象的方法是以对象为核心来构造软件框架的。结构化方法是按功能分解的规律组织软件系统结构的。

一、系统的构造内容不同。


面向对象的方法是以对象为核心来构造软件框架的。


结构化方法是按功能分解的规律组织软件系统结构的。


二、 应对需求变更能力的不同。


面向对象的方法与生俱来很强的应对需求变更能力。能从容应对客户的需求变更。


对结构化方法来说,它的先天缺陷是需求变更很难,一旦要需求变更,意味着以前一切的工作都是徒劳的。


三、管理维护的难易程度不同


面向对象方法对管理信息系统的维护很简单。


结构化方法对管理信息系统的维护很困难。

四、思维模式不同


面向对象方法的思维模式是:关注“责任”,把责任转移。关注要解决的问题可以归纳或划分为哪些责任,归纳每个对象应该负有的责任,然后通过消息传递,让他们各自承担起自己的责任就行了。通过对象自身的行为改变其内部状态(所谓封装的概念)。


结构化方法的思维模式是:只关注要解决的问题的本身,不关注应由“谁”来完成。主要是通过外部力量改变数据状态。


五、强调的重点不同


面向对象方法强调对象交互。对象是一等公民,我们主要关注的是对象如何通过向彼此发送消息,支配行为,改变状态。


结构化方法强调过程序列。过程是一等公民,我们首先要知道做事情的一连串过程,一个过程就是一个改变实体状态的操作序列。



总之,结构化的方法是在传统的编程语言环境下诞生的,用这种方法构建的系统结构使得开发人员在面对用户需求频繁变更的开发环境时,吃尽了苦头。


相比之下,面向对象的语言和方法,使开发人员如释重负。首先,面向对象编程方法带来了高效、可靠、易维护、易扩充的效果。其次,运用面向对象的思维模式来认识和理解系统的构成,更接近于人们对客观世界的认知习惯。最重要的是,运用面向对象的方法构建的设计方案能够灵活自如地应对用户的需求变更,而这种变更对使用结构化方法构建的系统往往是一种致命的挑战。因此,面向对象的方法逐渐发展成为主流软件工程方法。

相关文章
|
4月前
关于对面向对象和面向过程的理解
关于对面向对象和面向过程的理解
43 1
|
6月前
面向对象与面向过程的区别
面向对象与面向过程的区别
70 0
|
7月前
对面向对象编程的理解,面向过程和面向对象有什么区别
对面向对象编程的理解,面向过程和面向对象有什么区别
67 0
面向对象和面向过程的理解
面向对象和面向过程的理解
111 1
|
7月前
面向对象和面向过程
面向对象和面向过程
45 0
你真的知道面向对象与面向过程的区别吗?
你真的知道面向对象与面向过程的区别吗?
113 0
|
Java C++
面向对象—面向过程
从80年代起,人们基于以往提出的有关信息隐蔽和抽象数据类型等概念,以及由MODula2,Ada和Smalltalk和语言所奠定的基础,再加上客观需求的推动,进行了大量的理论研究和是时间探索 ,不同类型的面向对象语言(如:Object-c、c++,Java、object-Pascal)逐步地发展和建立起较完整的和雨后春笋般研制开发出来,OO方法概念理论体系和实用的软件系统。面向对象源于Simula,真正的OOP由Smalltalk奠基
79 0
|
7月前
面向对象编程的理解,面向过程和面向对象有什么区别
面向对象编程的理解,面向过程和面向对象有什么区别
58 0