Training
Patterns and anti-patterns in modern Java
This training consists of two major parts: the first is an overview of design patterns through the lens of Java 8, and the second focuses on the right and wrong ways to use the new features introduced in Java 8 (lambdas, streams, Optional, the Date/Time API, and so on).
Design patterns are one of the tools in a developer’s toolbox that help save time and build a better solution. Like any other tool, they can do a great deal of good in some hands and nothing but harm in others. Knowing design patterns helps you understand other people’s code much faster. And that’s especially important early in your career, when you have to get up to speed on existing projects without any work experience.
Design patterns can significantly cut the time spent on discussion and decision-making. Imagine how hard it would be to quickly explain to someone that they need to implement a Decorator: “We need to create a class whose constructor takes an instance of another implementation of the same interface, and which adds logic to calls to its methods without changing their core behavior…” And that still leaves plenty of small details and nuances unsaid. Just as important is that every team member shares the same understanding of how the solution is designed. If the wording is vague, everyone may understand the solution differently, and that’s a recipe for trouble. After all, the implementation may turn out very different from the idea that was discussed. And that means extra time spent on code review and rework.
In this training, we’ll look at which design patterns are still relevant and how to implement them effectively in Java 8, and we’ll be sure to put that into practice.
In the second part of the training, we’ll take a detailed look at many examples of good and bad uses of the new features in Java 8. Several years have passed since this version of the language was released, and most developers have even had time to migrate their projects to it. Even so, many still haven’t mastered the new features or started using them correctly and effectively in practice. We’ll try to fix that by going through theoretical examples and backing them up with hands-on exercises.
- Target audience
- Java developers, tech leads
- Price
- $300per participant
- Date and time
- 16 hours / 2 days
Lunch is included in the training price
Group registrations get a discount
