编程范式 | 青训营笔记

81 阅读2分钟

高级语言 -> 汇编语言 -> 机器语言

中级语言:

面向过程 - C

高级语言:

面向对象 - C++

函数式代表 - lisp

多范式代表 - javascript

编程范式:命令式(面向过程/对象)、声明式(函数式/响应式)

过程式就是自顶而下(变量然后函数),结构化(顺序/选择/循环)

面向对象程序设计(Object Oriented Programming)

其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。

“面向过程”(Procedure Oriented)

是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。

面向对象:封装、继承、多态、依赖注入;五大原则

  1. 单一职责原则(SRP)

其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。

  1. 开放封闭原则(OCP)

其核心思想是:软件实体应该是可扩展的,而不可修改的。

3.里氏替换原则(LSP)

其核心思想是:子类必须能够替换其基类。

  1. 依赖倒置原则(DIP)

其核心思想是:依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。

  1. 接口隔离原则(ISP)

其核心思想是:使用多个小的专门的接口,而不要使用一个大的总接口。