美文网首页
引言 - 1

引言 - 1

作者: 你weixiao的时候很美 | 来源:发表于2018-04-16 18:33 被阅读4次

本文是函数式Swift的读书笔记,为了备忘(明明学的时候理解了,学完过一段时间就忘了,如果回头再看看,会有蛮大的收获,所以写读书笔记)

1.函数式编程的特点:

很难给函数式编程一个准确的定义,设计良好的Swift函数式程序具有一些特质

  • 模块化:函数式开发者更倾向于强调每个程序都能够被反复分解为越来越小的模块单元,而所有这些块可以通过函数装配起来,以定义一个完整的程序
  • 对可变状态的谨慎处理:函数式编程有时候 (被半开玩笑地) 称为“面向值编程”。面向对象编程专注于类和对象的设计,每个类和对象都有它们自己的封装状态。然而,函数式编程强调基于值编程的重要性,这能使我们免受可变状态或其他一些副作用的困扰。
  • 类型: 最后,一个设计良好的函数式程序在使用类型时应该相当谨慎。精心选择你的数据和函数的类型
2. 面向对象 vs 函数式编程
  • 面向对象强调的是将与某数据类型相关的一系列操作都封装到该数据类型中去,因此,在数据类型中难免存在大量状态,以及相关的行为。虽然这很符合人类的逻辑直觉,但是当类型关系变得错综复杂的时候,类型中状态的改变和类型之间彼此的继承和依赖将使程序的复杂度几何上升。

  • 避免使用程序状态和可变对象,是降低程序复杂度的有效方式之一,而这也正是函数式编程的精髓。我们先构建一系列简单却具有一定功能的小函数,然后再将这些函数进行组装以实现完整的逻辑和复杂的运算,这是函数式编程的基本思想。

3. 本书介绍

最纯粹的函数式编程语言是 Haskell,但是国内用的人特别少。“Swift 是一门有着合适的语言特性来适配函数式编程方法的优秀语言”

本书的2-10章介绍函数式编程的基本概念。
10-12章是进阶内容。

4. 看书的感谢

感觉像是发现了新大陆,开始有点难以理解,慢慢发现 函数式的编程范式 也不错。为以后学习RXSwift打基础。

相关文章

  • 引言 - 1

    本文是函数式Swift的读书笔记,为了备忘(明明学的时候理解了,学完过一段时间就忘了,如果回头再看看,会有蛮大的收...

  • 1 引言

    待编辑

  • 1:引言

    三皇五帝是历史神话人物“三皇”和“五帝”的合称,我们这边即不是讲神话也不是讲正规历史的地方,我们就是通过一个个小故...

  • tornado【1】引言

    Tornado是基于Python实现的异步网络框架,它采用非阻塞IO,可以支持成千上万的并发访问量,所以非常适合于...

  • AQS(1):引言

    其实一开始是想接着写java锁的,不过后面发现内置锁和其他同步器基本都离不开AQS。既然AQS绕不过去,那只好就开...

  • 1.引言

    1.你必须找到相关的对象,以适当的粒度将它们归类,再定义类的接口和继承层次,建立对象直接的基本关系; 2.你的设计...

  • (1)引言(下)

    数据库语言 数据库系统提供数据定义语言(data-definition language)来定义数据库模式,以及数...

  • (1)引言(上)

    首先解释如下名词: 数据(data) 数据是数据库中存储的基本对象,它是描述事物的符号记录,有多种表现形式,它们都...

  • 1.引言

    引言 http://redisbook.com/上有Redis源码的注释。 本书是基于Redis 3.0的开发版来...

  • day 1 引言

    《极简思维》实操营第一天 引言部分 你的思维决定结果 P03 “幸福生活所需要的东西并不多,能否幸福取决于你的内...

网友评论

      本文标题:引言 - 1

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