美文网首页
FP-函数式编程

FP-函数式编程

作者: Gilegamesh | 来源:发表于2017-05-31 16:21 被阅读0次

近些年在大数据分布式计算的急速发展下,催生出各种大型软件的工业需求。而这种大型软件要容易理解和维护,OOP繁琐的语法及指令式编程肯定是力不从心的。于是人们就把视野重新回归到了没有副作用的编程范式----FP函数式。

函数式编程强调函数组合,把一个函数的输出当做另一个函数的输入组合成一个更大的函数。我们可以直接面对最基本的组件编程,组合过程是明确可料的(函数引用透明),把细微的功能组合成大型软件,而且还能避免重复代码。增加了可读性和可维护性。

特性:

1.闭包和高阶函数

闭包:依照函数文本运行时创建的函数值(对象)

实质上,闭包是起函数的作用并可以像对象一样操作的对象。

高阶函数可以用另一个函数(间接地,用一个表达式) 作为其输入参数,在某些情况下,它甚至返回一个函数作为其输出参数。这两种结构结合在一起使得可以用优雅的方式进行模块化编程,这是使用 FP 的最大好处。

2.惰性计算(求值)

表达式不是在绑定到变量时立即计算,而是在求值程序需要产生表达式的值时进行计算。

3.函数是第一等公民

4.引用透明

任何程序中符合引用透明的的表达式都可以由它的的结果所替代,而不改变该程序的含义。

5.没有副作用

一个函数在程序的执行过程中除了根据输入参数给出的运算结果之外没有其他的影响,就可以说是没有副作用的

6.只用‘表达式’,不用‘语句’

告诉计算做什么,而不是告诉它怎么做。

7.状态不可变

好处:

1. 代码简洁,开发快速

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

3. 更方便的代码管理

4. 易于"并发编程"

5. 代码的热升级

相关文章

  • FP-函数式编程

    近些年在大数据分布式计算的急速发展下,催生出各种大型软件的工业需求。而这种大型软件要容易理解和维护,OOP繁琐的语...

  • RxSwift初探(1)

    一、前提:函数响应式编程思想 简单来说 函数响应式编程 = 函数式编程 + 响应式编程 (1)函数式 函数式编程是...

  • iOS 函数编程 & 链式编程

    函数式(链式)编程 函数式编程概念 函数式编程是种编程范式 函数式编程 Functional Programmin...

  • 函数式编程(一)—— 前置知识

    为什么要学函数式编程? 什么是函数式编程?函数式编程和面向对象编程的不同对于函数式编程思维方式的理解: 函数式编程...

  • 二十二、函数式编程、面向协议式编程

    函数式编程(Functional Prigramming) 函数式编程 函数式编程(Functional Prig...

  • Python中的函数式编程

    函数式编程 说到函数式编程,我们的重点在于为什么要采用函数式编程,而不是什么是函数式编程。 函数式编程的优点:一、...

  • RxSwift-初探

    函数响应式编程 一:函数式 函数式编程简称FP(Functional Programming),函数式编程就是一种...

  • 《Kotlin入门实战》CH5 | 函数与函数式编程

    函数与函数式编程 函数式编程与命令式编程最大的不同是:函数式编程的焦点在于数据的映射,命令式编程(imperati...

  • 函数响应式编程思想 & RxSwift 核心逻辑(一)

    函数响应式编程思想 函数响应式编程思想即是将函数式编程和响应式编程相结合。 函数式编程 顾名思义,就是像函数一样的...

  • RxJava系列|RxJava简介(一)

    函数响应式编程 函数式编程是一种编程范式。 常见的编程范式有:命令式编程、函数式编程和逻辑式编程。 面向对象就是一...

网友评论

      本文标题:FP-函数式编程

      本文链接:https://www.haomeiwen.com/subject/nmkjfxtx.html