Core Java, Frameworks & Servers
Tuesday, 08. May 2018., 09:00
Hall C
45'
Since Java 8 was introduced with its support for Lambda, Optional and Functional Interfaces, Java developer got their hands on an amazing ground of Functional Programming. While it has been widely supported in other OOP languages, only starting from JDK8, Java community got a new way to develop their code. While Streams and Optional interactions have been well discussed for the past few years, many people forget what drives all these new Functional capabilities – Functional Interfaces. In this talk, default Functional Interfaces will be explained along with how they can be customized, covering some of the most promising new open-source libraries which expand Functional programming in Java beyond its current limits. By exploring what Functional Interfaces actually are, and when they can be used, Java developer should be able to see that any code can be encapsulated down to passing methods as an argument of another method, bringing DRY (Don't Repeat Yourself) principle to its extremes.As a result, this talk will cover what developers should beware when using Functional Interfaces, as with this new power, there are even more responsibilities. For example, an engineer can keep encapsulating each piece of logic into Functional Interface, making code absolutely unreadable.