Designing functional and fluent API: application to some GoF Patterns

Track: Tools and Techniques
Abstract

Among the patterns from the GoF, the Visitor is probably the more complex to implement. One of the difficulties is that you need to implement it in your object model, leading to complex refactoring for legacy applications. Based on the use of all the nifty tools brought by functional programming: chaining, composition, and partial application, you can implement Visitors without having to change your object model, using a functional and fluent API. This approach can be used to implement other patterns: Builder and Validator. Using this way of designing API leads to readable and robust code, designed following the GoF patterns. Live examples will be shown using Java lambdas.

José Paumard

José is a developer, architect, application designer and instructor with 20 years experience in Java technologies and software craftsmanship. He is an assistant professor in Paris. He is a recognized expert, Java Champion and Java Rockstar. His recent work includes kata design in software craftsmanship, fluent API design using Java lambda expressions and streams. He is also passionate by online education, creating courses available on Pluralsight and YouTube.