文章目录
面向过程与面向对象的区别,如同 蛋炒饭与盖浇饭的区别。
面向过程( Object-oriented)
优点
- 性能好
面向对象(Process-oriented)
特点
- 封装性
- 继承性
- 多态性
优点
- 易维护
- 易复用
- 易扩展
主要的编程范式有三种:命令式编程,声明式编程和函数式编程。
命令式编程(Imperative)
通过描述详细步骤,一步一步的去达到目的。
声明式编程(Declarative)
以数据结构的形式表达程序执行的逻辑,主要思想是告诉计算机应该做什么,但不指定具体要怎么做
- SQL
- HTML
- CSS
函数式编程(Functional)
- Erlang语言,面向并发
- Haskell语言(纯函数式编程语言)
特点
- 代码风格精简,逻辑清晰
- 抽象程度很高(代码可以更方便的复用)
- 方便并行
- 确定的输入输出,不受外部环境影响(代码升级,更新方便)
大部分常见语言一半已经提供了这种编程方式的支持,比如JavaScript,再有C#中的LINQ和Java中的Lamada和闭包的概念。
函数式编程是对映射的描述。
三种编程范式的代码演示(更为详细的区别)