欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编程方法的发展

程序员文章站 2022-07-04 17:34:38
...
我想了解一下软件开发中的编程方法的历史,以及现在流行的方法的来龙去脉,但是没有找到相关的总结性的文章,于是自行总结了一下,不当之处,请大家批评指正。

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.总结:
      以往的编程方法和原则在现代的方法中得到了保留和发展,这对新手是一个挑战,不循序渐进的学习这些技术,想要短期学会现代方法(如:面向对象编程)是困难的。
      记住这些编程方法的主旨是很有好处的。
      新的编程方法必将是历史方法的继承和发展,所以学好这些旧的方法非常重要。
      掌握这些在各种层出不穷的新语言和新工具中不变的精华,或许,我们可以不再疲于追赶新的技术潮流。