java 新世界设计模式(1)

java 新世界设计模式(1)_第1张图片

随意 java8 的出现,java 开始逐步支持函数式编程。这里想说一句我们做的工作是让我们思维转换为机器可以理解的代码,机器不人类,人类也不是机器,我们擅长的机器不一定擅长,反之亦然。面向对象编程对于我们可能更好理解。而函数式编程可能更适合机器。

java 新世界设计模式(1)_第2张图片
四人帮的设计模式

这本书很经典,流传久远。虽然没有读过,也早就听过他大名。在学习设计模式多少也受过他影响。不过随着时代的变迁,我们需要对一些概念重新解释和诠释。

java 新世界设计模式(1)_第3张图片
java 新世界设计模式(1)_第4张图片

在开始之前,我们看一看,变量赋值的几种情况。第一个我们就不解释了。第二个也应该不难理解。关键是第三个

java 新世界设计模式(1)_第5张图片
java 新世界设计模式(1)_第6张图片

实现一个接口,这个接口只有一个方法需要实现,而且这个方法接受一种类型作为参数,然后返回一个类型,这些特点很重要。接口上有注解 @FunctionInterface 作用告诉编译器这是一个函数接口。

java 新世界设计模式(1)_第7张图片
lamb

函数也可以这样写,这是当下流行的写法,不是因为其看起来酷,更重要是其内在机制。以后有机会也玩一玩 haskell。

java 新世界设计模式(1)_第8张图片

上面,在 java8 中我们可以通过::操作符来调用类的方法。构造函数也是类的方法所以可以这么写。

java 新世界设计模式(1)_第9张图片
java 新世界设计模式(1)_第10张图片
java 新世界设计模式(1)_第11张图片
java 新世界设计模式(1)_第12张图片
java 新世界设计模式(1)_第13张图片

经过一步一步地化简,不是化简,是演变变成这个模样。今天的内容如果理解好了,你就会对函数式编程有些了解了。

你可能感兴趣的:(java 新世界设计模式(1))