从面向过程到面向对象--面向对象编程思想的核心:应对变化,提高复用
http://blog.csdn.net/hjf19790118/article/details/6919578
面向过程 → 面向对象 → 面向组件 → 面向服务
约翰·巴库斯(John Backus)
FORTRAN语言创始人
尼古拉斯·沃思(Niklaus Wirth)
结构化编程思想的创始人
从IBM公司的约翰·巴库斯在1957年开发出世界上第一个高级程序设计语言Fortran至今,高级程序设计语言的发展已经经历了整整半个世纪。在这期间,程序设计语言主要经历了从面向过程(如C和Pascal语言)到面向对象(如C++和Java语言),再到面向组件编程(如.NET平台下的C#语言),以及正在快速发展的面向服务架构技术(如SOA和WebService)。
◆ 面向过程编程
结构化编程思想的核心:功能分解(自顶向下,逐层细化)。
结构化编程思想主要是将一个大的问题划分为几个小的问题,再将几个小的问题划分为更小的问题,我们解决大问题非常困难,但是解决划分后的最小的问题却比较容易。
面向过程编程把编程任务划分成一个一个的步骤,然后按照步骤分别去执行。其中每完成一个步骤就像是完成一个任务中的单个过程一样。
尼古拉斯·沃思(Niklaus Wirth):结构化编程思想的创始人。因发明了Euler、Alogo-W、Modula和Pascal等一系列优秀的编程语言并提出了结构化编程思想而在1984年获得了图灵奖。
尼古拉斯· 沃思教授在编程界提出了一个著名的公式:
程序 = 数据结构 + 算法
阿伦·凯(Alan Kay)
面向对象编程思想的创始人
◆ 面向对象编程
面向对象编程思想的核心:应对变化,提高复用。
面向对象编程思想主要是复用性和灵活性(弹性)。复用性是面向对象编程的一个主要机制。灵活性主要是应对变化的特性,因为客户的需求是不断改变的,怎样适应客户需求的变化,这是软件设计灵活性或者说是弹性的问题。
阿伦·凯(Alan Kay):面向对象编程思想的创始人。2003年因在面向对象编程上所做的巨大贡献而获得图灵奖。
阿伦·凯:麻省理工学院的院长。阿伦·凯是Smalltalk面向对象编程语言的发明人之一,也是面向对象编程思想的创始人之一,同时,他还是笔记本电脑最早的构想者和现代Windows GUI的建筑师。最早提出PC概念和互联网的也是阿伦·凯,所以人们都尊称他为“预言大师”。他是当今IT界屈指可数的技术天才级人物。
面向组件和面向服务
面向组件:
我们知道面向对象支持重用,但是重用的单元很小,一般是类;而面向组件则不同,它可以重用多个类甚至一个程序。也就是说面向组件支持更大范围内的重用,开发效率更高。如果把面向对象比作重用零件,那么面向组件则是重用部件。
面向服务:
将系统进行功能化,每个功能提供一种服务。现在非常流行WebService技术以及SOA(面向服务架构)技术。
面向过程(C)→面向对象(Java)→面向组件(C#)→面向服务(WebService)