青训营笔记 day4 编程范式
编程语言
C语言
面向过程的代表
lisp
函数式代表
C++
面向过程代表
JavaScript
- 基于原型和头等函数的多范式语言
- 过程式
- 面向对象
- 函数式
- 响应式
编程范式
程序语言特性
- 是否允许副作用
- 操作的执行顺序
- 代码管理
- 状态管理
- 语法和词法
常见编程范式
- 命令式
- 面向对象
- 面向过程
- 声明式
- 函数式
- 响应式
面向过程问题
- 数据与算法关联弱
- 不利于修改和扩充
- 不利于代码重用
面向对象
面向对象编程
- 封装
- 继承
- 多态
- 依赖注入
面向对象编程五大原则
- 单一职责原则
- 开放封闭原则
- 里氏替换原则
- 依赖倒置原则
- 接口分离原则
函数式编程
- 函数是“第一等公民”
- 纯函数/无副作用
- 高阶函数/闭包
优势
- 可缓存
- 可移植
- 可测试
- 可推理
- 可并行