我想了解一下软件开发中的编程方法的历史,以及现在流行的方法的来龙去脉,但是没有找到相关的总结性的文章,于是自行总结了一下,不当之处,请大家批评指正。
1.各种方法概述
1)结构化编程
程序应该按自上而下的顺序执行,不会做随便跳转。主要为了提高可读性(特别是控制结构的),可自上而下的阅读代码,并且执行的顺序也大体是这样的。
它的三个组成部分:顺序Sequence,选择selection,循环(或迭代)repetition (or iteration)。任何控制结构都可以用这三个部分组成。
需要小心使用其他方式如:break,continue,return,throw-catch.
2)模块化编程
将逻辑相关的数据和函数放在一个模块中。
它没有多个实例的概念,相当于面向对象中的仅包含静态方法和静态变量的类。不需要实例化即可直接调用方法,只存在一个"实例"。
VB中的Module就是这个思想的应用。
3)面向对象编程
主要特点:封装,继承,多态。
封装(Encapsulation):将逻辑相关的数据和方法(函数)放在一个类中。跟模块化编程做的一致。
继承(Inheritance):将内容或接口重用,并实现类型的多态。
多态(Polymorphism):不同的语义环境下,同一名称可以有多种不同的实现。
具体表现为两类:
同名方法不同内容,实现方式:使用重载(overload),当然方法的参数是不同的;
同名类型不同内容,实现方式:使用覆盖(override)或实现(implement)。允许使用同一接口调用不同类的的实例对象。
2.各种方法的目标
结构化编程。重点是是控制结构,可看作是基本程序语句(无子程序)的结构;
子程序化编程。似乎没有相关的历史潮流,但我认为加入它会使整个方法的发展过程更加完整。子程序(或过程、函数、方法)是模块化、面向对象编程的最重要的基石。
模块化编程。重点是将数据和子程序逻辑相关的组合;
面向对象编程。在模块化的基础上重点加入了模块之间的关系。这里的模块已演化为类。
3.方法体系
上述几种编程方法可以归为一类,属于一个方法体系,其重点在于编程本身,力图管理并降低程序逻辑的复杂性。随其发展,管理的代码单元越来越大,越来越复杂,其方式也越来越接近日常的思维。核心是封装逻辑结构(子程序、模块、类),以便在更高层次上获得简化的关系。
我认为此体系中新的方法还未出现。现在流行的方法中:AOP(面向方面编程),仅是此体系有益的补充;SOA面向服务架构,重点在于用统一的方式调用,而不依赖于底层技术,是组件化的一种形式,这不是这一类的主线方向。
4.总结:
以往的编程方法和原则在现代的方法中得到了保留和发展,这对新手是一个挑战,不循序渐进的学习这些技术,想要短期学会现代方法(如:面向对象编程)是困难的。
记住这些编程方法的主旨是很有好处的。
新的编程方法必将是历史方法的继承和发展,所以学好这些旧的方法非常重要。
掌握这些在各种层出不穷的新语言和新工具中不变的精华,或许,我们可以不再疲于追赶新的技术潮流。
分享到:
- 2006-09-18 10:56
- 浏览 7032
- 评论(5)
- 论坛回复 / 浏览 (5 / 5218)
- 查看更多
相关推荐
数控加工自动编程方法及其发展.pptx
数控加工自动编程方法及其发展(ppt-72页).ppt
2022年数控加工自动编程方法及其发展(共71张PPT).pptx
第4 章简要介绍了有限元编程方法。 与大多数有限元书籍不同的是 , 用其他高级语言编写有限元程序时所需的一般编程技巧在 MATLAB 中不再需要 , 因此 , 本书不再赘述。 第5 章详细讨论了构造单元和插值函数的原则...
异常处理的编程方法,程序员都很熟悉的一个东东,她和面向对象的方法是软件程序设计发展史上其中最重要的两项革新技术。现代程序设计语言拥有的一个重要的特性就是能较好地支持异常的处理(Exception Handling)。她...
Java 编程语言的发展简史 Java 编程语言的发展简史可以追溯到计算机编程语言的发展史。计算机编程语言的发展可以分为四代,分别是机器语言、低级语言、高级语言和第四代语言。 第一代语言:机器语言。机器语言是...
本文以自然辩证的观点探讨了计算机语言的发展历程,运用自然辩证法的基本理论、基本方法,系统分析了计算机语言的发展历史、现状和未来。
可编程电源的实现方法有很多种。其中,现场可编程门阵列(Field ProgrammableGate Array,FPGA)具有性能好,规模大,可重复编程,开发投资小等优点。随着微电子技术的发展,FPGA的成本不断下降,正逐渐成为各种电子...
本讲演简单回顾处理器发展历程,通过介绍不同时期编程模型的发展,深入分析CPU+GPU混合编程与传统CPU编程的异同,介绍异构计算环境下编程的语言、工具和方法。
2.1.3 套接字编程接口在Windows和Linux操作系统中得到继承和发展 25 2.1.4 套接字编程接口的两种实现方式 25 2.1.5 套接字通信与UNIX操作系统的输入/输出的关系 26 2.2 套接字编程的基本概念 27 2.2.1 什么...
3.3 几种常见的混合编程方法简介 3.3.1 使用matlab自带的matlab compiler 3.3.2 利用matlab引擎 3.3.3 利用activex控件 3.3.4 利用mat文件 3.3.5 c-mex 3.3.6 利用mideva/matcom 3.3.7 利用matrix[lib]实现混合编程 ...
本书用大量的篇幅讲述了与计算机原理相关的各种编码方法,并通过数字逻辑电路以及存储器,微处理器的形成,组织及发展阐述了编码的实现。本书还涉及到计算机系统,编程语言的发展,甚至对计算机图形化的相关技术也给...
Delphi的最新版本Delphi 6扩大了原有的VCL功能、改进了...本书介绍了使用Delphi 6进行程序开发的基本方法,如:文本编辑、图形图像编程等。除此以外,还加入了Internet编程、中间件的编写及多层应用程序的开发等内容。
中国古代算术的思想与方法,正好与近代计算机的使用融合无间,也必将因此而重新焕发青春,以另一种崭新面貌,在未来的数学发展中扮演重要角色。中国的古代数学是一种算法数学,在我们进入计算机时代的今天,这种算法...
少儿编程的未来发展势头良好,随着技术的发展,编程教学方法也在不断创新和改进。未来,少儿编程将会变得更加普及和常见。 少儿编程非常重要,它可以帮助孩子们培养逻辑思维和问题解决能力,并且可以提高他们的自信...
接着,深入探讨了浏览器文档对象模型的发展,详细介绍了JavaScript对象的有关知识,包括对象的属性、方法和事件处理程序等内容;最后,细致地讲述了JavaScript核心语言,包括String,Math,Date和Array等核心对象以及...
CoDeSys是可编程逻辑控制PLC的完整开发环境(CoDeSys是Controlled Developement System的缩写),在PLC程序员编程时,CoDeSys为强大的IEC语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言...
组件(component)技术是各种软件重用方法中最重要的一种方法,也是分布式计算和Web服务的基础。网络应用中的软件组件,又被称为中间件(middleware)。 组件技术的应用现在已经十分广泛,从Windows编程中使用的各种...
套接字I/O超时设置方法 用select实现超时 read_timeout函数封装 write_timeout函数封装 accept_timeout函数封装 connect_timeout函数封装 17socket编程(十二) select限制 poll 18socket编程(十三) ...
本书是为全英文版本。 《Java完美编程(第3版)》,英文名《Absolute Java (3rd Edition)》,英文版出版社:Addison Wesley,作者:【美】Walter Savitch。本书是为 PDF 格式,按照章节分为...第19章 java的发展永无止境