700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 函数式编程 面向对象编程 面向过程编程

函数式编程 面向对象编程 面向过程编程

时间:2022-02-27 12:49:13

相关推荐

函数式编程 面向对象编程 面向过程编程

函数式编程:

它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。举例来说,现在有这样一个数学表达式。

1. 代码简洁,开发快速

函数式编程大量使用函数,减少了代码的重复,因此程序比较短,开发速度较快。

2. 接近自然语言,易于理解

函数式编程的自由度很高,可以写出很接近自然语言的代码。

前文曾经将表达式(1 + 2) * 3 - 4,写成函数式语言:

subtract(multiply(add(1,2), 3), 4)

对它进行变形,不难得到另一种写法:

add(1,2).multiply(3).subtract(4)

这基本就是自然语言的表达了。再看下面的代码,大家应该一眼就能明白它的意思吧:

merge([1,2],[3,4]).sort().search("2")

因此,函数式编程的代码更容易理解。

3. 更方便的代码管理

函数式编程不依赖、也不会改变外界的状态,只要给定输入参数,返回的结果必定相同。因此,每一个函数都可以被看做独立单元,很有利于进行单元测试(unit testing)和除错(debugging),以及模块化组合。

4. 易于"并发编程"

函数式编程不需要考虑"死锁"(deadlock),因为它不修改变量,所以根本不存在"锁"线程的问题。不必担心一个线程的数据,被另一个线程修改,所以可以很放心地把工作分摊到多个线程,部署"并发编程"(concurrency)。

缺点: 函数嵌套太深,如果出bug不好排查

复用性比较低。没办法完成大型项目的扩展

函数式编程初探 - 阮一峰的网络日志

面向对象:

面向对象的特点是多态,封装,继承,面向对象的可复用性比较高,比较适合操作大型项目,能够设计出高内聚,低耦合的对象,代码的复用性,灵活性都比较高。比较适合做大型项目。拓展性强

1.2、面向过程的编程思想

面向过程核心是"过程"二字,过程即流程,指的是做事的步骤:先什么、再什么、后干什么基于该思想编写程序就好比在设计一条流水线,即无论采用什么语言、无论依据何种编程范式设计出的程序,最终的执行都是过程式的。

优点: 比较符合计算机执行的习惯,比较符合人的思维

缺点: 拓展性差,整个环节有一点修改,就需要重新组织过程步骤。

函数式编程偏向面向过程。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。