编程范式|青训营笔记
一、范式类别
1、命令式:命令式编程是一种以计算机执行的命令为中心的编程范式,它主要分为面向过程和面向对象两种形式
-
面向过程
面向过程是一种以过程为中心的编程方式,它将问题分解为一系列步骤,通过函数的调用来实现程序的功能。面向过程的代码通常是一系列的命令,描述了计算机执行的具体步骤
-
面向对象
面向对象是一种以对象为中心的编程方式,它将数据和函数封装在一起,通过对象的交互来实现程序的功能。面向对象的代码通常是一系列的对象,描述了程序中的实体和它们之间的关系,并且遵循以下五大原则:
单一职责原则SRP(Single Responsibility Principle) 开放封闭原则OCP(Open-Close Principle) 里式替换原则LSP(theLiskovSubstitution Principle LSP) 依赖倒置原则DIP(the Dependency Inversion Principle DIP) 接口分离原则ISP(the Interface Segregation Principle ISP)
2、声明式:声明式编程是一种以描述问题为中心的编程范式,它主要分为函数式和响应式两种形式
-
函数式
函数式编程是一种以函数为中心的编程方式,它将计算视为函数的应用,通过函数的组合来实现程序的功能。函数式的代码通常是一系列的函数调用,描述了计算的过程
-
响应式
响应式编程是一种以数据流为中心的编程方式,它将数据和函数封装在一起,通过数据的变化来触发函数的执行,实现程序的功能。响应式的代码通常是一系列的数据流,描述了数据的变化和处理
二、各类别缺点
1、面向过程问题
- 数据与算法关联弱
- 不利于修改和扩充
- 不利于代码重用
2、面向对象问题
- 封装
- 继承
- 多态
- 依赖注入