• 3种编程范型


    计算机应用离不开编写程序。按不同的思路和方法来编写程序,就形成不同的编程范型。

    1956年,世界上第一个高级语言FORTRAN问世。50多年来,高级语言的编程范型大体经历了3次演变,即过程式范型、面向对象编程范型与基于构件技术的编程范型。

    1:过程式编程范型

    过程式编程范型遵循“程序=数据结构+算法”的思路,把程序理解为由一组被动的数据和一组能动的过程所构成。编程时,先设计数据结构,再围绕数据结构编写其算法过程。程序运行后,获得预期的计算结果或正确的操作,借以满足程序的功能需求。对于比较大的程序,必须先进行功能分解,把较小的功能编写为子程序,子程序在调用子子程序,直至最终将程序由一组组大小适中,、层层调用的模块所构成的应用程序系统。

    在客观事物中,实体的内部“状态”(一般用数据表示)和“运动”(施加于数据的操作)总是结合在一起的。可是在用POPL编码时,程序模型(称为解空间)却被人为地构造为偏离客观实体本身的模型(称为问题空间)。随着程序规模的扩大,这类编程范型的缺陷越来越明显,在错综复杂的调用下,即使功能可以满足,性能也不容易满足,使程序难于维护和移植。因此,这类范型通常只用于编写代码在50000行一下、不会轻易更改的应用程序。

    2:面向对象编程范型

    在面向对象的程序设计中,数据及其操作被封装在一个个称为对象(Object)的统一体中,对象之间则通过消息(message)相互联系,“对象+消息”的机制取代了“数据结构+算法”的思路,因而较好地实现了解空间与问题空间的一致性,从而为解决软件危机带来了新的希望。

    3:基于构件技术的编程范型

    构件(component)可以理解为标准化(或者规则化)的对象类。它本质上是一种通用的、可支持不同应用程序的组件,正如硬件中的标准件一样,插入不同的平台或环境后即可直接运行。

    基于构件的开发技术(CBD)与面向对象技术其实是一脉相承的。它给软件开发人员带来了根本的变革,就是把面向特定应用的OO编程,扩展为面向整个“领域”的CBD编程,使查找与集成适合于所需领域的构件称为这一新编程范型的主要工作。由此可见,CBD实际上是OO开发的延伸与归宿。现代的网络应用程序,几乎普遍采用基于构件技术的编程范型。

    4:3种编程范型的比较

    常用编程粒度的大小来比较3种编程范型的差异。

    过程式编程范型:着眼于程序的过程和基本控制结构,粒度最小。
    面向对象编程范型:着眼于程序中的对象,粒度比较大。
    基于构件技术的编程范型:着眼于适合整个领域的类对象,粒度更大。

  • 相关阅读:
    [Angular] @ContentChild and ngAfterContentInit
    [Angular] Content Projection with ng-content
    [ES2016] Check if an array contains an item using Array.prototype.includes
    [Ramda] Handle Errors in Ramda Pipelines with tryCatch
    [React Native] Installing and Linking Modules with Native Code in React Native
    [Ramda] Refactor to Point Free Functions with Ramda using compose and converge
    [React Native] Writing Platform-Specific Components for iOS and Android in React Native
    [Redux] Avoid action type naming conflicts
    paip.索引优化---sql distict—order by 法
    DL,DT,DD,比传统table更语义,解析更快的table列表方式
  • 原文地址:https://www.cnblogs.com/aixing/p/13327593.html
Copyright © 2020-2023  润新知