编程范式

123 阅读1分钟

编程范式

机器语言 汇编语言 高级语言: c/c++

image.png

image.png Lisp

image.png javaScript

image.png

总结

image.png

什么是编程范式 命令式 面向过程 面向对象

声明式 函数式 响应式

自顶向下 结构式编程

面向过程问题 数据与算法关联弱 程序不利于修改和扩充 不利于代码重用

面向对象编程 封装 继承 多态 依赖注入

五大原则 单一职责原则 开放式封闭原则 里式替换原则 依赖倒闭原则 接口分离原则

函数式编程

image.png

image.png 纯函数

image.png

函数编程currying特性

image.png 函数组合

函数式编程functor 可以当做容器的类型,类型支持对容器内元素进行操作

image.png

函数式编程monad 去嵌套容器的容器类型

image.png

函数式编程 applicative 直接对两个容器直接操作

响应式编程 image.png

响应式编程 observable

观察者模式 迭代器模式 promsie/eventTarget

响应式编程 操作符

image.png

image.png

image.png

响应式编程 monad 去除嵌套的 observable

总结 image.png

领域特定语言

image.png 由通用语言实现,却不能实现通用语言

语言运行

image.png

lexer SQL Token分类 注释 关键字 操作符 空格 字符串 变量

parser 语法分析 image.png

parser LR

image.png

总结

image.png 附录

image.png