
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
函数式编程开发是目前大多数软件开发程序员都需要熟练掌握的一个编程开发方法,下面我们就通过案例分析来简单了解一下,函数式编程开发概念与特点分析。
1、什么是函数式编程?
在我看来函数式编程就是把函数作为一等公民来使用就是函数式编程。平常我们开发都是在处理数据。面向对象中都在处理类。而函数式编程不是在写函数就是在写函数的路上。我们来看看Java中函数式编程的演进之路。我小时候玩过一种廉价的黑白屏游戏机,只能玩俄罗斯方块。这种是不可扩展的。
作为一名码农,平常我们都在写SQL。无论大厂小厂,不管单体还是分布式。SQL总能帮我们解决很多业务关系处理。SELECT、INSERT、UPDATE、DELETE每一种命令只要是SQL规范数据库,不管是什么表都会是一致的操作。你声明了什么命令就执行什么操作。这时数据与函数是松耦合的。正是这样的特点让我们实现了“万变不离其宗”。这也是一种另类的函数式编程。
2、面向对象和函数式编程冲突吗?
面向对象一直处于我能操作什么数据、这种数据我该怎么操作的范式中。而函数式编程一直沉浸于给我操作数据的方法中。面向对象大优点是多态性和封装;函数式编程优势是抽象化和声明式命令风格,两者其实是正交,可互补的,可在同一程序中共存。争论是面向对象好还是面向函数好跟争论哪门语言好一样都是非常极端的。对于面向对象来讲:存在的并不一定都是对象,函数就是对象;对于函数式编程来说:存在的并不总是纯粹的,副作用总是真实存在的。总之,面向对象侧重于分解,函数编程侧重于组合。
3、函数式编程特点
函数风格的编程拥有自己的一些特点:
函数作为一等公民。可以作为参数传递、从函数里返回、可以赋值给变量。
带有闭包的Lambda表达式和匿名函数,这是广泛的多态。
不变性,大部分无态处理,在函数式程序中,变量是通过外部传入或者申明获得值的。变量不能被改变
基于不可变进而可以无副作用的调用。
通过tailcall实现递归的性能优化。
提供动态的、可组合的开发思路。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。