函数式编程学习资料汇总
Posted 里皮时光机
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数式编程学习资料汇总相关的知识,希望对你有一定的参考价值。
面向对象编程(OOP)通过封装变化使得代码更易理解。函数式编程(FP)通过最小化变化使得代码更易理解。—— Michacel Feathers(Twitter)
总所周知 javascript 是一种拥有很多共享状态的动态语言,慢慢的,代码就会积累足够的复杂性,变得笨拙难以维护。面向对象设计能帮我们在一定程度上解决这个问题,但是还不够。
由于有很多的状态,所以处理数据流和变化的传递显得尤为重要,不知道你们知道响应式编程与否,这种编程范式有助于处理 JavaScript 的异步或者事件响应。总之,当我们在设计应用程序的时候,我们应该考虑是否遵守了以下的设计原则。
可扩展性--我是否需要不断地重构代码来支持额外的功能?
易模块化--如果我更改了一个文件,另一个文件是否会受到影响?
可重用性--是否有很多重复的代码?
可测性--给这些函数添加单元测试是否让我纠结?
易推理性--我写的代码是否非结构化严重并难以推理?
我这能这么跟你说,一旦你学会了函数式编程,这些问题迎刃而解,本来函数式编程就是这个思想,一旦你掌握了函数式,然后你再学习响应式编程那就比较容易懂了,
学习资料整理
Eric Elliott 函数式教程
征服 JavaScript 面试: 什么是函数式编程?
组合软件:1. 函数式编程的兴衰
为什么用 JavaScript 学习函数式编程?(软件编写)(第二部分)
函数式程序员的 JavaScript 简介 (软件编写)(第三部分)
高阶函数(软件编写)(第四部分)
Reduce(软件编写)(第五部分)
Functor 与 Category (软件编写)(第六部分)
函数式 Mixin(软件编写)(第七部分)
为什么在使用了类之后会使得组合变得愈发困难(软件编写)(第九部分)
借助函数完成可组合的数据类型(软件编写)(第十部分)
JavaScript 让 Monad 更简单(软件编写)(第十一部分)
JavaScript 轻量级函数式编程
JavaScript 轻量级函数式编程
Starkwang.log
JavaScript函数式编程(一)
JavaScript函数式编程(二)
JavaScript函数式编程(三)
如果你想成为函数式编程爱好者
如何成为一位函数式编程爱好者(Part 1)
如何成为一位函数式编程爱好者(Part 2)
如何成为一位函数式编程爱好者(Part 3)
如何成为一位函数式编程爱好者(Part 4)
如何成为一位函数式编程爱好者(Part 5)
如何成为一位函数式编程爱好者(Part 6)
书籍
《JavaScript 函数式编程指南》推荐
《JavaScript 函数式编程思想》推荐
《JavaScript ES6 函数式入门经典》看了上面两本这本就不用买了
《JavaScript 函数式编程》
相关库
https://folktale.origamitower.com/
https://github.com/fantasyland/fantasy-land
http://ramda.cn/
http://lodash.think2011.net/
以上是关于函数式编程学习资料汇总的主要内容,如果未能解决你的问题,请参考以下文章