You've been using the Java 8 features for quite a while and you became fluent with Lambdas and Stream API. Bravo! But you feel there's a lot more to Functional Programming than just transforming items or grouping them. You think you could do much more with passing functions in and out of your own code.
In this 2 hours hands-on course, you’ll be introduced to the advanced best practices and the functional design patterns available to us starting with Java 8. We will discuss the tradeoffs of each while we brainstorm a series of more advanced exercises.
Agenda
- Clean Code Rules in Functional Programming
- The Loan Functional Design Pattern
- Using Optional in API design
- Replace switch on enums with the Lightweight Strategy Pattern
- Working around checked exceptions with Lombok, jOOL and the Try Monad from Vavr
- Advanced Techniques: currying and partial functions
- Debugging Streams
- Streaming from files or database, AutoCloseable Streams, best practices and pitfalls
- Parallel Streams: mechanics, performance, best practices, pitfalls
What to expect?
The course is hands-on: most of the time is spent coding through a series of exercises, exploring alternative solutions discussing coding style and tradeoffs. Expect an intense brainstorming experience, extremely time-efficient.
This Training is for you because:
- You are a Java developer with solid hands-on experience in Java 8 or later
- You want to design code making full use of the functional capabilities of Java
- You want to understand how to think in Functional Programming style
Prerequisites:
- Practical experience with Java Streams and Lambdas is recommended.
Technical Requirements
To solve the exercises yourself, you will need a Java 8+ SDK installed (latest Oracle JDK will do), a decent IDE (preferably IntelliJ Community or Ultimate), and access to GitHub and Maven Central.
Optional Prep
If you want to get the best value out of this workshop, you can prepare by following the Functional Programming Essentials module.
Course Curriculum
Trainer: Victor Rentea
Victor Rentea is a Java Champion, Associate Professor and Technical Trainer writing code for over two decades in many languages.
He is training developers since 2012, having developed an extensive curriculum that covers most of the software engineering best practices and typical Java-stack development. You can read dozens of recommendations from the developers he trained on LinkedIn and on victorrentea.ro.
Victor is best known for the energy of his talks, many ranked among the best at their conference. You can expect a similar style here, explaining complex concepts in simple, easy-to-remember terms.
Get Access
Frequently Asked Questions
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like, across any and all devices you own.
Can I get an invoice for my company?
Payments are handled by Onelink, Stripe's reseller, which emails you the receipt. For a company invoice, contact Onelink starting from that receipt email.
I bought this course on Teachable. Do I pay again?
No. Every Teachable purchase was carried over: get your access link with the email you used there.
