黑子的程序员生涯

努力保持编程中美好的感觉

历史上编程方法的发展

1.历史上出现的编程方法
  1)结构化编程
    程序应该按自上而下的顺序执行,不会做随便跳转。主要为了提高可读性(特别是控制结构的),可自上而下的阅读代码,并且执行的顺序也大体是这样的。
    它的三个组成部分:顺序Sequence,选择selection,循环(或迭代)repetition (or iteration)。任何控制结构都可以用这三个部分组成。
    需要小心使用其他方式如:break,continue,return,throw-catch.
  2)模块化编程
    将逻辑相关的数据和函数放在一个模块中。
    VB中的Module就是这个思想的应用。
    它没有多个实例的概念,相当于面向对象中的仅包含静态方法和静态变量的类。不需要实例化即可直接调用方法,只存在一个"实例"。
  3)面向对象编程
    主要特点:封装(Encapsulation),继承(Inheritance),多态(Polymorphism)。
    封装:将逻辑相关的数据和方法(函数)放在一个类中。跟模块化编程做的一致。
    继承:将内容或接口重用,并实现类型的多态。
    多态:不同的语义环境下,同一名称可以有多种不同的实现。
  具体表现为两类:
  同名方法不同内容,实现方式:使用重载(overload),当然方法的参数是不同的;
  同名类型不同内容,实现方式:使用覆盖(override)或实现(implement)。允许使用同一接口调用不同类的的实例对象。

2.各种方法的目标
  结构化编程。重点是是控制结构,可看作是基本程序语句(无子程序)的结构;
  子程序化编程。似乎没有相关的历史潮流,但我认为加入认为的加入它会使整个方法的发展过程更加完整。也许这个大家都认为是当然的了?子程序(或过程、函数、方法)是模块化、面向对象编程的最重要的基石。
  模块化编程。重点是将数据和子程序逻辑相关的组合;
  面向对象编程。在模块化的基础上重点加入了模块之间的关系。这里的模块已演化为类。
3.方法体系
  上述几种编程方法可以归为一类,属于一个方法体系,其重点在于编程本身,力图有效管理并降低程序逻辑的复杂性。
  随其发展,管理的代码单元越来越大,越来越复杂,其方式也越来越接近日常的思维。
  其辅助技术或方法有编辑器、调试器、UML、软件工程等。
  我认为此体系中新的方法还未出现。现在流行的方法中:AOP面向方面编程,仅是此体系有益的补充;SOA面向服务架构,重点在于用统一的方式调用,而不依赖于底层技术,是组件化的一种形式,这不是这一类的主线方向。
 

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

posted on 2006-06-12 15:38 黑子 阅读(1409) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: