→ 模块化:
相较于把程序认为是一系列赋值和方法调用,函数式开发者更倾向于强调每个 程序都能够被反复分解为越来越小的模块单元,而所有这些块可以通过函数装配起来, 以定义一个完整的程序。当然,只有当我们能够避免在两个独立组件之间共享状态时, 才能将一个大型程序分解为更小的单元。这引出我们的下一个关注特质。
→对可变状态的谨慎处理:
函数式编程有时候(被半开玩笑地)称为“面向值编程”。面向 对象编程专注于类和对象的设计,每个类和对象都有它们自己的封装状态。然而,函数 式编程强调基于值编程的重要性,这能使我们免受可变状态或其他一些副作用的困扰。 通过避免可变状态,函数式程序比其对应的命令式或者面向对象的程序更容易组合。
→ 类型:
最后,一个设计良好的函数式程序在使用类型时应该相当谨慎。精心选择你的数 据和函数的类型,将会有助于构建你的代码,这比其他东西都重要。Swift 有一个强大 的类型系统,使用得当的话,它能够让你的代码更加安全和健壮。
swift函数式编程的基本概念:2-10章
高阶函数的时候用方法
不可变量的必要性
可选值的存在价值
枚举在函数式编程中的意义
纯函数式数据结构的优势等
11章开始:进阶内容
从构建最基本的生成器和序列开始,
利用解析器组合算子构建一个解析器库,
并最终实现一个相对复杂的公式解析器和函数式的表格应用。
网友评论