[ 前端与 HTML | 青训营笔记]

76 阅读2分钟

编程范式

01课程介绍

课程背景:

1. 前端的主要编程语言为JavaScript。

2. JavaScript做为一种融合了多种编程范式的语言,灵活性非常高。

3. 前端开发人员需要根据场景在不同编程范式间自如切换。

4. 进一步需要创造领域特定语言抽象业务问题。

 

课程收益:

1.了解不同编程范式的起源和适用场景。

2. 掌握JavaScript在不同的编程范式特别是函数式编程范式的使用。

3. 掌握创建领域特定语言的相关工具和模式。

 

 

02编程语言

C/C++C

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

•可对位,字节,地址直接操作

•代码和数据分离倡导结构化编程

•功能齐全:数据类型和控制逻辑多样化

•可移植能力强

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

•C with Classes

•继承

•权限控制

•虚函数

•多态

Lisp:函数式语言代表

•与机器无关

•列表:代码即数据

•闭包

 

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

•过程式

•面向对象

•函数式

•响应式

03编程范式

过程式编程

•自顶向下

•结构化编程

面向过程问题

•数据与算法关联弱

•不利于修改和扩充

•不利于代码重用

 

面向对象编程

•封装

•继承

•多态

•依赖注入

 

面向对象编程_五大原则

•单一职责原则SRP(Single Responsibility Principle)

•开放封闭原则OCP(Open-Close Principle)

•里式替换原则LSP(theLiskovSubstitution Principle LSP)

•依赖倒置原则DIP(the Dependency Inversion Principle DIP)

•接口分离原则ISP(the Interface Segregation Principle ISP)

 

函数式编程

•函数是“第一等公民”

•纯函数/无副作用

•高阶函数/闭包

 

函数式编程_Pure Function

•优势

•可缓存

•可移植

•可测试

•可推理

•可并行

 

响应式编程

•异步/离散的函数式编程

•数据流

•操作符

•过滤

•合并

•转化

•高阶

04领域特定语言

什么是领域特定语言

•Domain-specific language (DSL):应用于特定领域的语言

•HTML

•SQL

 

Parser_语法规则

上下文无关语法规则

推导式:表示非终结符到(非终结符或终结符)的关系。

终结符:构成句子的实际内容。可以简单理解为词法分析中的token。

非终结符:符号或变量的有限集合。它们表示在句子中不同类型的短语或子句。