如何使用函数式编程

函数式编程里面有很多优点,或许我么可以选择他的优点,以使得我们的程序更加健壮,很显然我们不可能全盘的采用函数式编程,因为我到现在还没有找到一个方案如何只使用函数式编程去开发一个项目,或许可以 或许开发出来的项目很完美,但注定会花费很多时间,而且并不确定 函数式编程在实现面向对象的设计模式的时候是否可以做到和面向对象一样好。他的封装 扩展 多人之间的合作真的可以完全取代面向对象吗?但是不管怎么说 函数式编程也有一些优点可以采纳:

链式调用:这个在jquery里面其实已经有了,链式调用的好处不言而喻,像promise也是采用链式调用的方法,它使得代码非常直观

函数组合:通过编写多个不同功能的函数,然后将各个函数按照顺序依次调用,从而实现具体的功能,这在某些场景下也会经常使用到,他部分的封装了声明式代码中一些冗余的逻辑

map:函数式编程最常见的技术就是对一个集合做Map和Reduce操作。这比起过程式的语言来说,在代码上要更容易阅读。

Pointfree:将不同的功能型函数封装未一个更大的与业务相关的函数,他与函数组合类似,但是函数组合更灵活

高阶函数:它们让开发者专注于任务,而抽象出遍历的部分,我们将技术性代码给抽离出来,比如map some every等,我们也可以定义自己的高阶函数

函子:函子在某些方面用处很大,我们可以定义很多功能型的函子 完成我们的功能,比如maybe等

总的来说:函数式编程在业务系统中的应用,还是侧重于将非业务行代码给抽离出来,并把露出一个好易读的方式给开发人员使用。

猜你喜欢

转载自www.cnblogs.com/mrzhu/p/11438623.html