java函数编程 为什么感觉Java越来越倾向于函数式编程?是由实际问题驱动的吗?
为什么感觉Java越来越倾向于函数式编程?是由实际问题驱动的吗?
一切都是为了简洁!
长期以来JAVA作为面向对象的代表语言占据着开发语言的榜首,面向对象的三大特性是继承,多态,封装,这就意味着面向对象的开发先从定义对象开始,即便是一个很简单的功能也有着相对冗长繁杂的代码!
JAVA语言凭借着成熟的技术社区和丰富的类库,还有模范化的开发模式一直都是企业级应用的宠儿,但正是因为此,冗余代码,复杂开发饱受诟病!为了改变这一现象,oracle在收购JAVA之后,一直致力于JAVA的简洁化开发,最近几年很流行的编程语言scala等,因为其不仅融入了面向对象的思想,还有函数式编程的特点,非常符合现如今简洁开发的理念!
JAVA开始瞄准scala,因为scala本就在jvm中运行,其脚本化,函数式的特性正是JAVA所需要的,JAVA8中加入了lambda表达式与函数式接口,能方便的进行函数式的开发工作,虽然相比koltlin,scala还略显啰嗦,但总算是撬开了函数式的大门!
总之,以后的JAVA新版本会提供更多的函数式开发的兼容开发,不是说函数式比面向对象语言好,而是能各取所需,走向更美好的明天,以后的编程语言是不是就没有特性之分了,值得期待。。
什么是函数响应式编程?
函数响应式编程(Functional Reactive Programming:FRP)是一种和事件流有关的编程方式,其角度类似EventSoucing,关注导致状态值改变的行为事件,一系列事件组成了事件流。FRP是更加有效率地处理事件流,而无需显式去管理状态。具体来说,FRP包括两个核心观点:1.事件流,离散事件序列2.属性properties, 代表模型连续的值。一系列事件是导致属性值发生变化的原因。FRP非常类似于GOF的观察者模式。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。