编程范式 | 青训营day4

47 阅读1分钟

青训营笔记 day4 编程范式

编程语言

C语言

面向过程的代表

lisp

函数式代表

C++

面向过程代表

JavaScript

  • 基于原型和头等函数的多范式语言
    • 过程式
    • 面向对象
    • 函数式
    • 响应式

编程范式

程序语言特性

  1. 是否允许副作用
  2. 操作的执行顺序
  3. 代码管理
  4. 状态管理
  5. 语法和词法

常见编程范式

  • 命令式
    • 面向对象
    • 面向过程
  • 声明式
    • 函数式
    • 响应式

面向过程问题

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

面向对象

面向对象编程

  • 封装
  • 继承
  • 多态
  • 依赖注入

面向对象编程五大原则

  • 单一职责原则
  • 开放封闭原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口分离原则

函数式编程

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

优势

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