我来了……

前端函数式编程FP学习路线

前端函数式编程FP易学易用

课程地址: http://t.cn/REeKVSk
GIT代码: https://github.com/chalecao/fp

前端进阶系列课程

《用JavaScript自己写MVVM前端框架》:http://t.cn/REeKJp0

《前端函数式编程FP易学易用》:http://t.cn/REeKVSk

《前端自己用NodeJS编写区块链BlockChain》:http://t.cn/REeoF7v

《程序语言进阶之DSL与AST实战解析》:http://t.cn/R3XoQJA

适用人群

具有基础的JavaScript(ES5、6)知识,建议先学习本系列专题《手把手教你写MVVM前端框架-vm篇》课程。

课程概述

本节课和大家一块学习函数式编程,FP一直都很火热,学习门槛也比较高,我们用最容易理解的方式,让大家都能理解FP的思想和原理,并通过手把手编程案例,让你在自己的实际开发中运用函数式编程,体验这种编程方式的优越性,提升编程水平和编程技巧!官方博客:fed123.com

【课程大纲】

第一章 函数式编程基础
1、命令式编程与声明式编程
命令式编程重点是关注怎么做,需要告诉计算机一步一步要怎么做。
声明式编程关注点在于做什么,声明我们要实现的目的,实现方法多种多样。比如我们可以先定义好很多需要实现的函数,构成我们复杂的软件系统,而内部实现可以慢慢填充。
第二章 头等函数、高阶函数与纯函数
1、头等函数、高阶函数
2、纯函数的概念
3、纯函数编写测试用例
头等函数是一种概念,是指函数和变量一样对待,没有分别。
高阶函数,是指返回函数的函数。返回的函数层级越深,函数阶数越高。
第三章 函数Curry科里化
1、什么是科里化以及与闭包的关系

2、科里化与Lodash、Ramda

3、科里化编程实战与REPL
第四章 Functor函子理解与应用 (2月10日更新monad)
1、函子Functor基本概念与JavaScript代码实现

2、通过科里化实现immutable(不可变)函子

3、编码实现业务函子

4、函数式函子概念与编码实现
5、Monad函子与Monad mayBe和Monad Either
6、Functor函子IO
7、JavaScript编码实现Monad MayBe
8、JavaScript编码实现Monad Elther和IO函子
第五章 函数式编程与面向对象编程 (2月10日更新)
1、OOP与FP优缺点比较

2、业务开发中如何使用函数式编程
  • 通过抽离纯函数,可以分离业务逻辑,使得业务模块更加可重用,业务代码更清晰易懂。同时也可以隔离副作用,很方便针对纯函数编写测试用例
  • 通过科里化,可以很高程度通过函数组合实现复杂的业务逻辑。大多是需要保存状态时需要用到,比如某个tab切走,再次切回来的时候,需要记住之前的状态
  • state 负责数据部分,包含魔术变量。可以把所有不确定性因素都放在这里
  • actions:负责功能性,业务逻辑等。可以写成纯函数和普通函数的集合。当然纯函数是没有副作用的,可保证稳定性;普通函数是有副作用的,需要谨慎bug

3、JavaScript编程实现OOP与FP思想

其实函数式编程和面向对象编程并没有优劣之分,只是看使用的场景。个人觉得对于业务开发,功能模块开发,函数编程更加健壮,实用,可维护性高,易于阅读理解,易于重构。

未经允许不得转载:前端学堂fed123 » 前端函数式编程FP学习路线

分享到:更多 ()