With the advent of lambdas in Java 8, functional programming truly has returned to the mainstream, sitting proudly alongside its object-oriented brother. We now have the tools to create applications that use the best of both paradigms, but our knowledge and understanding of the concepts under the hood needs to catch up.
For years, we've relied on design patterns to guide us to solutions that are clean, simple and practical, but many of the classic OO design patterns laid out in the Gang of Four's book are actually workarounds for the lack of functional programming constructs such as lambdas and higher-order functions. With new tools at our disposal, we can simplify the majority of design patterns, using pure functions to reduce the proliferation of classes that are used once and thrown away. By removing the boilerplate surrounding our code, we focus on the most important part: the behaviour.
In this talk, Samir Talwar will lead you through the classic design patterns, as well as some more contemporary object-oriented principles, showing you how functions can drastically simplify your design, leading to code that is cleaner and more concise.
This presentation will cover a few design patterns, but the focus is on Java 8. It's a slideshow, so it's not live coding, but practically all of the slides are entirely code, so you should be comfortable reading it.
YOU MAY ALSO LIKE:
- Modern development with Java (in London on 16th - 18th July 2018)
- Getting Started with Serverless Architecture with Gojko Adzic (in London on 24th - 25th September 2018)
- Scala Advanced with Dick Wall (in London on 10th - 12th December 2018)
Design Patterns in the 21st Century
Samir Talwar is a developer who’s focused on two things: doing the right things in the right way. He has worked in a number of industries and has always focused on the bleeding edge, diving into new technologies, techniques and methodologies with a fervour. His experience with various tools allows him to select the right one for the job, and combined with his experience with Extreme Programming, he has a knack for spotting simple approaches to complex problems.