编程范式笔记 | 青训营笔记

43 阅读2分钟

JavaScript 作为一种融合了多种编程范式的语言,灵活性非常高。前端开发人员需要根据场景在不同编程范式间自如切换。进一步需要创造领域特定语言抽象业务问题。 本次课程会帮助了解不同编程范式的起源和适用场景。掌握 JavaScript 在不同的编程范式特别是函数式编程范式下的使用。进一步掌握创建领域特定语言的相关工具和模式。

常见的编程语言

C语言是“中级语言”过程式语言代表

  • 可对位、字节、地址直接操作
  • 代码和数据分离倡导结构化编程
  • 功能齐全:数据类型和控制逻辑多样化
  • 可移植能力强

C++:面向对象语言代表

  • C with Classes
  • 继承
  • 权限控制
  • 虚函数
  • 多态

Lisp:函数式语言代表

  • 与机器无关
  • 列表:代码即数据
  • 闭包

JavaScript:基于原型和头等函数的多范式语言

  • 过程式
  • 面向对象
  • 函数式
  • 响应式

总结

image.png

什么是编程范式

image.png

常见的编程范式

image.png

过程式编程

  • 自顶向下

image.png

-结构化编程

image.png 这里的顺序选择循环,想起了学C的时候的入门时老师给讲的

-面向过程的问题

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

面向对象编程

  • 封装

关联数据与算法

  • 继承

无需重写的情况下进行扩充

  • 多态

不同的结构可以进行接口共享,进而达到函数复用

  • 依赖注入

去除代码耦合

五大原则
  • 单一职责原则SRP
  • 开放封闭原则OCP
  • 里式替换原则LSP
  • 依赖倒置原则DIP
  • 接口分离原则ISP

函数式编程

  • 函数是“第一等公民”
  • 纯函数/无副作用
  • 高价函数/闭包

优势

  • 可缓存
  • 可移植
  • 可测试
  • 可推理
  • 可并行

响应式编程

  • 异步/离散的函数式编程
    • 数据流
    • 操作符
      • 过滤
      • 合并
      • 转换
      • 高阶

总结

image.png