课程介绍
课程背景
- 前端的主要编程语言为 JavaScript.
- JavaScript 做为一种融合了 多种编程范式的语言,灵活性非常高。
- 前端开发人员需要根据场景在不同编程范式间自如切换。
- 进一步需要创造领域特定语言抽象业务问题。
课程收益
- 了解不同编程范式的起源和适用场景。
- 掌握 JavaScript 在不同的编程范式特别是西数式编程范式的使用。
- 掌握创建领域特定语言的相关工具和模式。
编程语言
为什么要编程语言
机器语言
汇编语言
高级语言
C:“中级语言,过程式语言代表
- •可对位.字节.地址直接操作
- •代码和数据分离倡导结构化编程
- •功能齐全数据类型和控制逻辑多样化
- •可移植能力强
c,c++:面向对象语言代表
- c with classes
- 继承
- 权限控制
- 虚函数
- 多态
Lisp:函数式语言代表
- 与机器无关
- 列表:代码即数据
- 闭包 基于原型和头等函数的多范式语言
- 过程式
- 面向对象
- 函数式
- 响应式
总结
编程范式
面向对象变成五大原则
- 单一职责原则SRP(Single Responsibility Principle)
- 开放封闭原则OCP(Open - Close Principle)
- 里式替换原则LSP(the Liskov Substitution Principle LSP)
- 依赖倒置原则DIP(the Dependency Inversion Principle DIP)
- 接口分离原则I sP(the Interface Segregation Principle ISP)
面向对象问题
面向对象编程语言的问题在于,它总是附带着所有它需要的隐含环境。你想要一个香蕉,但得到的却是一个大猩猩拿着香蕉,而且还有整个丛林。 Joe Armstrong (Erlang创始人)