编程范式|青训营笔记

76 阅读2分钟

一、C/C++ C:“中级语言”过程式语言代表 1、可对位,字节,地址直接操作 2、代码和数据分离倡导结构化编程 3、功能齐全:数据类型和控制逻辑多样化 4、可移植能力强 C++:面向对象语言代表 1、C with Classes 2、继承 3、权限控制 4、虚函数 5、多态 Lisp:函数式语言代表 1、与机器无关 2、列表:代码即数据 3、闭包 JavaScript:基于原型和头等函数的多范式语言 1、过程式 2、面向对象 3、函数式 4、响应式 编程语言(机器语言,汇编语言,中级语言,高级语言) 中级语言-面向过程代表-C 高级语言-(面向对象代表-C++,函数式代表-lisp,多范式代表-javascript) 二、编程范式 程序语言特性: 是否允许副作用,操作的执行顺序,代码组织,状态管理,语法和词法 编程范式: 1、命令式(面向过程,面向对象) 2、声明式(函数式,响应式) 过程式编程: 自顶向下,结构化编程 自顶向下: 程序-模块-(变量-数据结构)(函数-函数-语句) 面向过程问题: 数据与算法关联弱,不利于修改和扩充,不利于代码重用 面向对象编程: 封装(关联数据与算法),继承(无需重写的情况下进行功能扩充),多态(不同的结构可以进行接口共享,进而达到函数重用),依赖注入(去除代码耦合) 面向对象编程五大原则: 1、单一职责原则 SRP ( Single Responsibility Principle ) 2、开放封闭原则 OCP ( Open - Close Principle ) 3、里式替换原则 LSP ( the Liskov Substitution Principle LSP ) 4、依赖倒置原则 DIP ( the Dependency Inversion Principle DIP ) 5、接口分离原则 ISP ( the Interface Segregation Principle ISP )