Java编程方法论:响应式Spring Reactor 3设计与实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 如何看待众多函数表达式

人类最擅长描述场景,比如一套动作,这套动作放在舞蹈层面,可以是名为×××的编舞,但是这个编舞又要处于一定的框架之下,即需要一定的规范。同样,我们施展一套拳法,也需要一个规范,不能踢一脚就叫拳法。而规范的实现,可能就是几个很简单的左勾拳或者右勾拳组合,也可能是比较复杂的咏春拳、太极拳等,而且一套拳法可能由很多小套路组成,这些小套路也都遵循着规范。那么按照这个思路,我们来看看下面的函数式接口的定义:

可以看到,无论是条件判断表达式Predicate还是无返回值动作处理函数BiConsumer,都遵循一个标准动作的设计定义思路,并通过default方法来对同类动作进行编排,以达到更加丰富的效果。所以,函数式的应用更倾向于干净利落,凸显自己要做的事情,而基于这些动作进行的一整套流程设计,由于我们无须关心具体某个函数式接口如何实现,因此完全可以这么说,函数式设计开发是面向未知实现开发的一种方式,而响应式编程很好地结合了这种编程思维。