课程背景
- 前端的主要编程语言为JavaScript。
- JavaScript做为一种融合了多种编程范式的语言,灵活性非常高。
- 前端开发人员需要根据场景在不同编程范式间自如切换。
- 进一步需要创造领域特定语言抽象业务问题。
C:“中级语”过程式语言代表
- 可对位,字节,地址直接操作
- 代码和数据分离倡导结构化编程
- 功能齐全:数据类型和控制逻辑多样化
- 可移植能力强
C++:面向对象语言代表
- C with Classes
- 继承
- 权限控制
- 虚函数
- 多态
Lisp:函数式语言代表
- 与机器无关
- 列表:代码即数据
- 闭包
基于原型和头等函数的多范式语言
- 过程式
- 面向对象
- 函数式
- 响应式
什么是编程范式?
编程范式指的是计算机编程的基本风格或典范模式。
程序语言的特性分为:是否允许副作用、操作的执行顺序、代码组织、状态管理、语法和词法五类。
常见的编程范式分为两类,命令式和声明式。
命令式是面向过程(数据与算法关联弱、不利于修改和扩充、不利于代码重用)和面向对象(封装、继承、多态、依赖注入)。
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
优点是性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源。而Linux\Unix等一般采用面向过程开发,性能是最重要的因素。缺点是没有面向对象易维护,易复用,易扩展。可维护性差,不易修改。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
优点是易维护,易复用,易扩展。由于面向对象由封装,继承,[多态性的特性,可以设计出耦合度低的系统,使系统更加灵活,更加易于维护。 缺点是性能比面向过程低。
面向对象编程的五大原则
- 单一职责原则
- 开放封闭原则
- 里式替换原则
- 依赖倒置原则
- 接口分离原则
声明式是函数式和响应式。
函数式编程的优势是可缓存、可移植、可测试、可推理、可并行。