编程范式 | 青训营笔记

64 阅读2分钟

青训营:编程范式

Date: April 18, 2023


课程收益:

  1. 了解不同编程范式的起源和适用场景。
  2. 掌握 JavaScript 在不同的编程范式特别是函数式编程范式的使用。
  3. 掌握创建领域特定语言的相关工具和模式。



编程范式:

编程范式介绍:

程序语言特性:

是否允许副作用、操作的执行顺序、代码组织、状态管理、语法和词法

常见编程范式:

命令式:面向过程、面向对象

声明方:函数式、响应式

过程式编程;

自顶向下、结构化编程

Untitled

面向过程式编程

面向过程式编程有什么缺点?为什么后面会出现面向对象

数据与算法关联弱 不利于修改和扩充 不利于代码重用

面向对象五大原则

  • 单一职责原则SRP(Single Responsibility Principle)
  • 开放封闭原则OCP'Open - Close Principle)
  • 里式替换原则LSP(the Liskov Substitution Principle LSP)
  • 依赖倒置原则DIP(the Dependency Inversion Principle DIP)
  • 接口分离原则ISP(the Interface Segregation Principle ISP)


函数式编程

什么是函数式编程 函数式编程的思维方式:把显示世界的事务和事物之间的联系抽象到程序世界(对运算过程进行抽象)

函数式编程中的函数指的数学中的函数即映射关系,输入的值对应一个输出的值,例如 y = f(x) 相同的输入始终得到相同的输出(纯函数)

函数式编程用来描述数据(函数)之间的映射

// 非函数式
const num1 = 2
const num2 = 3
const sum = num1 + num2
console.log(sum)

// 函数式
function add(n1, n2) {
  return n1 + n2
}

const sum = add(2, 3)
console.log(sum)


响应式编程

响应式编程是一种基于异步数据流驱动、响应式、使用声明式范式的编程模型,需要遵循一定的响应式编程开发规范,并且有具体的类库实现。响应式编程基于数据流而不是控制流进行业务逻辑的推进。

Untitled

参考: