从面向过程到面向对象
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)
从面向过程到面向对象相关推荐
- java面向过程和面向对象
面向过程(Procedure Oriented):说的是功能的行为 面向对象(Object Oriented,简称OO):说的是功能的对象 面向过程理解: 当学习java的时候先了解java语言优良的 ...
- java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法
面向过程和面向对象 解决简单问题可以使用面向过程 解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程. 面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向 ...
- 面向过程与面向对象编程的区别和优缺点
■面向过程与面向对象编程的区别 转载至:https://www.cnblogs.com/strivers/p/6681876.html 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步 ...
- 面向过程和面向对象编程的优缺点
[1]面向过程和面向对象的比较 网上发现了一篇文章,说了一下OP与OO的不同,并且打了一个比喻,通俗易懂. 有人这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的 ...
- (转)函数作用域,匿名函数,函数式编程,面向过程,面向对象
函数作用域 ? 1 2 3 4 5 6 7 8 9 10 def first(): name = 'Wangben' def second(): name = 'Men ...
- 面向过程和面向对象的编程思想 复习原型 构造函数和实例对象和原型对象之间的关系
体会面向过程和面向对象的编程思想 <!DOCTYPE html> <html lang="en"> <head><meta charset ...
- 架构师之路(1)---面向过程和面向对象
1.引言 机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训 ...
- 面向过程 VS 面向对象
面向过程(Process Oriented)这个词是在面向对象(Object Oriented)出现之后为与之相对而提出的.其实它在以前基本被叫做"结构化编程". 早期的程序设计, ...
- 面向过程和面向对象的联系和区别
以C语言和C++为例. C语言是面向过程的,封装单元是函数.函数里面按照逻辑流程一步一步实现就行了,这符合我们现实生活中解决问题时的思考过程. C++是面向对象的,封装单元是类.首先,面向对象是为了提 ...
- java面向过程编程怎么写_从面向过程到面向对象,我的编程之路
也许现在新一代的程序员一开始涉足的就是c++,C#,Java这类面向对象的语言,如果这样,这篇文章可能得不到他们的认同. 这里,我只想写写我从面向过程到面向对象开发成长中的一些感想而已. 我最初学习的 ...
最新文章
- 30-hadoop-hbase-安装squirrel工具
- [转载]逐步建设企业DevOps能力
- 无线鼠标计算机不识别,win7系统下USB无线鼠标电脑检测不到如何解决
- 联合索引会创建几个索引_面试官:谈谈你对mysql联合索引的认识?
- Python Numpy 教程(使用 Jupyter 和 Colab)
- 初作学术论文存在的文献梳理和引文注释问题
- php mysql 预编译语句_php mysql 预编译
- 20应用统计考研复试要点(part26)--简答题
- redisson 看门狗_Redisson的分布式锁
- html优美界面左侧下拉,一组时尚的侧边栏菜单和下拉列表UI设计
- 吐血整理!近二十年全国数学联赛赛题大全,烧脑全集来啦!
- Logtail从入门到精通(二):开启日志采集之旅
- 辞旧迎新,胖了几斤?数据告诉你,这种东西你就不该吃
- 在Migration中操作新添加的字段
- 算法学习之路|互评成绩计算
- 计算机课安全管理制度,微机室安全管理制度.doc
- 浅谈MYSQL之备份恢复
- BGR转YUV420SP
- 初试401 英语86分上岸苏州大学经验分享
- 对比学习论文综述(part4 transformer + 总结)
热门文章
- 解决java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
- U盘启动盘恢复为普通U盘
- ubuntu20.04下安装Docker和NVIDIA Container Toolkit教程
- 小能量汇聚成大能量_清体能量棒配料解析:小种子,大能量,藜麦和青稞
- python 3.0 print_Python 3.x 新特性及10大变化
- r语言把两个折线图图像放到一个图里_图像相似度度量
- 关于vue项目中输入框无法正常输入的问题
- 扑克牌排序_巧用扑克牌搞定孩子的数学思维启蒙,聪明的妈妈都在玩这样的游戏...
- Ubuntu15.0.4下Torch安装教程
- git revert 用法