编程范式|青训营笔记

63 阅读2分钟

课程背景

  1. 前端的主要编程语言为JavaScript。
  2. JavaScript做为一种融合了多种编程范式的语言,灵活性非常高。
  3. 前端开发人员需要根据场景在不同编程范式间自如切换。
  4. 进一步需要创造领域特定语言抽象业务问题。

C:“中级语”过程式语言代表

  1. 可对位,字节,地址直接操作
  2. 代码和数据分离倡导结构化编程
  3. 功能齐全:数据类型和控制逻辑多样化
  4. 可移植能力强

C++:面向对象语言代表

  1. C with Classes
  2. 继承
  3. 权限控制
  4. 虚函数
  5. 多态

Lisp:函数式语言代表

  1. 与机器无关
  2. 列表:代码即数据
  3. 闭包

基于原型和头等函数的多范式语言

  1. 过程式
  2. 面向对象
  3. 函数式
  4. 响应式

什么是编程范式?

编程范式指的是计算机编程的基本风格或典范模式。

程序语言的特性分为:是否允许副作用、操作的执行顺序、代码组织、状态管理、语法和词法五类。

常见的编程范式分为两类,命令式和声明式。

命令式是面向过程(数据与算法关联弱、不利于修改和扩充、不利于代码重用)和面向对象(封装、继承、多态、依赖注入)。

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

优点是性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源。而Linux\Unix等一般采用面向过程开发,性能是最重要的因素。缺点是没有面向对象易维护,易复用,易扩展。可维护性差,不易修改。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
优点是易维护,易复用,易扩展。由于面向对象由封装,继承,[多态性的特性,可以设计出耦合度低的系统,使系统更加灵活,更加易于维护。 缺点是性能比面向过程低。

面向对象编程的五大原则

  1. 单一职责原则
  2. 开放封闭原则
  3. 里式替换原则
  4. 依赖倒置原则
  5. 接口分离原则

声明式是函数式和响应式。

函数式编程的优势是可缓存、可移植、可测试、可推理、可并行。