编程范式

 发布 : 2019-01-30  字数统计 : 1.1k 字  阅读时长 : 3 分  分类 : 编程范式  浏览 :

面向过程编程

面向过程 (Procedure Oriented) 是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。

面向过程是具体的东西,是一种基础的方法,它考虑的是实际的实现, 而且面向过程是面向对象的基础。

典型代表: C

面向对象编程

面向对象程序设计 (Object Oriented Programming) 作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化

面向对象的方法主要是把事物给对象化,包括其属性和行为。

典型代表: Java

函数式编程

函数式编程 是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值), 属于”结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用

和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。

和过程化编程相比,函数式编程里函数的计算可随时调用。

函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。

函数式编程的一个特点就是,允许把函数本身作为 参数 传入另一个函数,还允许 返回一个函数

代表: scala python (不是纯函数式编程语言)

响应式编程

简称RP(Reactive Programming)

响应式编程 是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。

例如,在命令式编程环境中,a:=b+c表示将表达式的结果赋给a,而之后改变b或c的值不会影响a。但在响应式编程中,a的值会随着b或c的更新而更新。

电子表格程序就是响应式编程的一个例子。单元格可以包含字面值或类似”=B1+C1”的公式,而包含公式的单元格的值会依据其他单元格的值的变化而变化

声明式编程

告诉机器你想要的是什么 what,让机器想出如何去做(how)

命令式编程

命令机器如何去做事情 how ,这样不管你想要的是什么(what),它都会按照你的命令实现。

面向切面编程

Aspect Oriented Programming(AOP),面向切面编程。

AOP的编程,好像就是把我们在某个方面的功能提出来与一批对象进行隔离,这样与一批对象之间降低了耦合性,可以就某个功能进行编程。

AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果

参考

留下足迹