从面向过程到面向对象

时间:2021-01-28 19:51:43

面向过程 → 面向对象 → 面向组件 → 面向服务

从面向过程到面向对象

约翰
·巴库斯John Backus

FORTRAN语言创始人

从面向过程到面向对象
尼古拉斯·Niklaus Wirth

结构化编程思想的创始人

IBM公司的约翰·巴库斯在1957年开发出世界上第一个高级程序设计语言Fortran至今,高级程序设计语言的发展已经经历了整整半个世纪。在这期间,程序设计语言主要经历了从面向过程(如CPascal语言)到面向对象(如C++Java语言),再到面向组件编程(如.NET平台下的C#语言),以及正在快速发展的面向服务架构技术(如SOAWebService)。

  面向过程编程

       结构化编程思想的核心:功能分解(自顶向下,逐层细化)

结构化编程思想主要是将一个大的问题划分为几个小的问题,再将几个小的问题划分为更小的问题,我们解决大问题非常困难,但是解决划分后的最小的问题却比较容易。

面向过程编程把编程任务划分成一个一个的步骤,然后按照步骤分别去执行。其中每完成一个步骤就像是完成一个任务中的单个过程一样。

 

尼古拉斯·沃思Niklaus Wirth结构化编程思想的创始人。因发明了EulerAlogo-WModulaPascal等一系列优秀的编程语言并提出了结构化编程思想而1984年获得了图灵奖

尼古拉斯· 沃思教授在编程界提出了一个著名的公式:

程序 = 数据结构 + 算法

 

从面向过程到面向对象


阿伦·凯(Alan Kay

面向对象编程思想的创始人

  面向对象编程

       面向对象编程思想的核心:应对变化,提高复用

面向对象编程思想主要是复用性和灵活性(弹性)。复用性是面向对象编程的一个主要机制。灵活性主要是应对变化的特性,因为客户的需求是不断改变的,怎样适应客户需求的变化,这是软件设计灵活性或者说是弹性的问题。

 

阿伦·Alan Kay):面向对象编程思想的创始人2003年因在面向对象编程上所做的巨大贡献而获得图灵奖

阿伦·凯:麻省理工学院的院长。阿伦·凯是Smalltalk面向对象编程语言的发明人之一,也是面向对象编程思想的创始人之一,同时,他还是笔记本电脑最早的构想者和现代Windows GUI的建筑师。最早提出PC概念和互联网的也是阿伦·凯,所以人们都尊称他为“预言大师”。他是当今IT界屈指可数的技术天才级人物。

 

面向组件和面向服务

 

面向组件:

我们知道面向对象支持重用,但是重用的单元很小,一般是类;而面向组件则不同,它可以重用多个类甚至一个程序。也就是说面向组件支持更大范围内的重用,开发效率更高。如果把面向对象比作重用零件,那么面向组件则是重用部件。

 

 

面向服务:

将系统进行功能化,每个功能提供一种服务。现在非常流行WebService技术以及SOA(面向服务架构)技术。

 

面向过程(C)→面向对象(Java)→面向组件(C#)→面向服务(WebService