引言 - 1

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

1.函数式编程的特点:

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

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

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

3. 本书介绍

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

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

4. 看书的感谢

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift的编程范式 编程范式是程序语言背后的思想。代表了程序语言的设计者认为程序应该如何被构建和执行。常见的编程...
    Bobby0322阅读 2,617评论 4 43
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,257评论 4 61
  • One 在一个寻常的夜晚,二把刀盛装站在女生宿舍楼下大喊站在学校破烂的宿舍楼下,仰望着楼上,大声呼喊心爱人的名字,...
    暖心手绘心理课阅读 904评论 1 9
  • 01 初入大学的你. 经历过高考的洗礼,我们已成功迈进大学之门,带着那份稚嫩与好奇去追寻向往大学生活。然而...
    木子X木木阅读 338评论 0 2