前端训练营《编程范式》笔记
高级语言转换为机器语言的过程要经过汇编语言的中间层,即经过编译器转换成汇编语言,再通过汇编器转换成机器语言。
其中c语言是中级语言,也是过程式语言的代表
高级语言中,c++便是面向对象语言的代表
什么是编程范式?
主要包含命令式和声明式,命令式包含面向过程和面向对象,声明式包含函数式和响应式。
同时也要考虑语言特性,关于 是否允许副作用,操作的执行顺序, 代码组织, 状态管理, 语法和词法
面向对象编程:
C++为例:1,C wiht classes / 2,继承 / 3,权限控制 / 4,虚函数 / 5,多态
缺点:数据和算法关联弱,不利于修改和扩充,不利于代码重用
面向对象的五大原则: 1,单一职责原则SRP(Single Responsibility Principle) //2,开放封闭原则ocP(Open - Close Principle) //3,里式替换原则LSP(the Liskov Substitution Principle LSP) //4,依赖倒置原则DIP(the Dependency Inversion Principle DIP) //5,接口分离原则ISP(the Interface Segregation Principle ISP)
函数式编程
函数第一性,纯函数且无副作用 ,高阶函数具有闭包性质。
优点:可缓存,可移植,可测试,可推理,可并行
例子:
响应式编程
数据流式编程强调了数据的流动,并将程序建模为一系列的连接。显式的定义输入和输出的连接运算,它的功能类似于黑箱[7]。一个运算在它的所有输入成为有效时立即运行。因此,数据流程语言是天然并行的,并可在大型的、[去中心化]的系统上运作
·异步/离散的函数式编程
·数据流
·操作符
·过滤
·合并
·转化
·高阶
订阅模式;