Published in


Book review — Practical Design Patterns for Java Developers

Hone your software design skills by implementing popular design patterns in Java


About the Author


  • Introducing Java and basic knowledge about design patterns.
  • Standard design patterns using Java.
  • Other essential patterns and anti-patterns.

Part 1: Design Patterns and Java Platform Functionalities

Chapter 1: Getting into Software Design Patterns

Chapter 2: Discovering the Java Platform for Design Patterns

Part 2: Implementing Standard Design Patterns Using Java Programming

Chapter 3: Working with Creational Design Patterns

Chapter 4: Applying Structural Design Patterns

Chapter 5: Behavioral Design Patterns

Part 3: Other Essential Patterns and Anti-Patterns

Chapter 6: Concurrency Design Patterns

Chapter 7: Understanding Common Anti-Patterns


The Bad

  • The titles under the example code confused me at first, as they are formatted like titles and it was a bit unclear how to interpret them.
  • Screenshots of Java Flight Recorder (JFR) are used in the book to visualize the effect of, for instance, multiple threads or the autoboxing anti-pattern. But how to use this tool is not described.
  • The principles and code examples are not intended for beginner developers.

The Good

  • The last “bad” point, also makes the first “good” point. The principles and patterns explained in the book will uplift your knowledge and bring your code quality to the next level.
  • When you buy the paper version of the book, you can get a DRM-free PDF via an easy web form with a fast response.
  • You can also download a PDF with a color version of all the images. Most are flowcharts, but for instance, for the screenshots of the thread visualization with JFR, they are handy.
  • Each chapter ends with questions to validate you picked up the most important information. Also, a list with links for “Further reading” is included.
  • All example code is based on a “vehicle” approach which is implemented or extended into different use cases as needed to illustrate the topic. No foo/bar examples in this book!
  • All example code is available on GitHub if you want to run them or dive into the code to better understand the principles.



A humble place to learn Java and Programming better.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Frank Delporte

#JavaOnRaspberryPi - Author of 'Getting started with Java on the Raspberry Pi' - Senior Technical Writer at Azul - Pi4J - BeJUG - CoderDojo Belgium Ieper