编程范式 | 青训营笔记

117 阅读2分钟

一、现在主流的编程范式有三种:

结构化编程(structured programming)

面向对象编程(object-oriented programming)

函数式编程(functional programming) 二、介绍详细以下五种编程范式

1、指令式编程(Imperative programming)和声明式编程(Declarative programming)

大部分高级语言都支持四种基本的语句,运算语句,循环语句,条件分支语句,无条件分支语句。

指令式编程,需要基本语句描述执行流程,即计算机行为。

声明式编程,描述目标性质,而非流程。

例如,SQL,D3.js都是声明式编程的体现。

2、面向对象编程(Object Oriented Programming)

将代码组织到对象定义中。有时候成为类,它们将具有相关行为的数据分组在一起。

对象(或类)的三大特性,封装、继承、多态。

数据是对象的属性,行为(或功能)是方法。

对象结构使其在程序内具有灵活性。

对象可以通过调用数据并将其传递给另一个对象的方法来传递信息。

同时,新类可以从基类或父类接受或继承所有功能。

3、函数式编程(Functional Programming)

基于函数的开发方式,函数将输入映射为输出,从而产生结果。

函数式编程遵循的核心原则:

函数与程序状态或全局变量无关。它们仅取决于传递给它们的参数进行计算。 函数试图限制对程序状态的任何更改,并避免更改保存数据的全局对象。 函数在程序中具有最小副作用。 高阶函数(Higher-order function):将函数作为参数或将函数作为返回值。

回调函数(callback):传递到另一个函数中的函数。

拉姆达函数(lambda):传递给另一个函数,或从另一个函数返回的函数。

装饰器(decorator):增强函数的功能。

4、响应式编程(Reactive Programming)

响应式编程,是面向数据流和变化传播的编程范式。

编程语言可以很方便地表达静态或动态的数据流,相关的计算模型会自动将变化的值通过数据流进行传播。

例如,电子表格程序的单元格;MVC软件架构中,允许模型的变化自动反映到视图上,反之亦然。

5、面向切面编程(Aspect Oriented Programming)

面向切面编程,通过预编译方式和运行期间动态代理实现程序功能统一维护。

是面向对象编程的延续,是函数式编程的衍生。

针对处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合的隔离效果。