编程范式(一)

一 面向对象编程(Object-oriented Programming):思考的切入点是对象的划分;具有两个基本概念:

  • 类:类是对象的类型模板
  • 实例:实例是根据类创建的对象

OOP适合大项目和复用性很强、功能很多,有可维护性的;相对面向对象编程还有一个面向过程编程(面向过程:思考的切入点是功能的步骤;适合做一些小的模块)

二 命令式编程(Imperative Programming) :通过编写一条又一条指令去让计算机执行一些动作,这其中一般都会涉及到很多繁杂的细节。命令式代码中频繁使用语句,来完成某个行为。比如 for、if、switch、throw 等这些语句。 命令式编程示例:

const toLowerCase = arr => {
    const res = [];
    for (let i = 0, len = arr.length; i < len; i++) {
        res.push(arr[i].toLowerCase());
    }
    return res;
}

三 声明式编程(Declarative Programming):声明式编程表明想要实现什么目的,应该做什么,但是不指定具体怎么做。命令式编程与声明式编程对比

 除了命令式编程,其他编程范式大部分属于声明式编程的一种类型,声明式编程示例:

const toLowerCase = arr => arr.map(
    value => value.toLowerCase();
)

四 函数式编程(Funational Programming):函数式编程是一种编程范式,主要是利用函数把运算过程封装起来,通过组合各种函数来计算结果。函数式编程意味着你可以在更短的时间内编写具有更少错误的代码。函数式编程与命令式编程区别

 // 把字符串每个首字母变成大写
  const string = 'functional programming is great';
  const result = string
    .split(' ')
    .map(v => v.slice(0, 1).toUpperCase() + v.slice(1))
    .join(' ');
  console.log(result);

五 响应式编程(RP): 是一个异步编程范式,通过处理数据流来传播在代码中做出的修改。RP代码对任何数据的更改都能做出及时的响应并更新其状态。

六 函数响应式编程(FRP:Function Reactive Programming):这是一种采用函数式编程的基础部件进行响应式编程的编程范式。FRP提出三个原则:单一数据源,状态是只读的,状态修改只能由纯函数来完成。代表应用:Redux. 函数响应式编程

原文地址:https://www.cnblogs.com/terrymin/p/15702076.html