Running on Java 19-ea+23-1706 (Preview)
Home of The JavaSpecialists' Newsletter

Java Design Patterns Course

The Timeless Way of Coding

Our Java Design Patterns Course is the best value-for-money education you can give your programmers. During an intensive 4 days, we cover all of the Gang-of-Four patterns, in addition to some other lesser-known ones. Your programmers will learn how design patterns fit into the big picture in Java.

Each pattern is followed by exercises. These help the student to apply what they have learned in the lecture. After each exercise we demonstrate the solution with a walk-through.

We have taken great care to make sure that each pattern is accurately taught. We make sure that the code they see is safe for use in industrial strength code.

"First of all, best wishes for this new year ! I just wanted to tell you that I have completed the Java Design Patterns Course, it was very interesting the examples were very clear and the books recommendation was awesome, I was following the course with some of the books you mentioned that I already have and I put a couple of your recommendations on my Amazon wish list."
Edison Martinez

Is this course for you?

  • Learn how a Java Specialist thinks when designing a Java system.
  • Learn how each pattern is used in the Java Development Kit (JDK).
  • Learn how the Java Virtual Machine optimizes our well-factored code on-the-fly.
  • Learn how we can make our patterns thread-safe.
  • Learn how modern Java 8 lambdas and Java 11 features can reduce code when implementing design patterns.
  • Learn how the Singleton can cause "code smells".
  • Learn how to get rid of copy & paste code and those pesky switch and if-else statements.
  • Improve your team communication by introducing a richer design vocabulary.

"I thought that your course was excellent, and have been using patterns in my work ever since (as well as campaigning the worth of using Design Patterns to my colleagues)."
Oliver G., Prism, Cape Town

"If one has to choose to take a single design patterns course it should be Java Design Patterns by Heinz Kabutz. I can't recommend it enough.The class is very well organized and covers 30 design patterns. What sets it apart is how well each pattern is explained and the coverage of several less known design patterns like Memento, Essence, Object Recursion, Acyclic Visitor. Heinz spends enough time to give details how each pattern originated and its main usages. Currently its 5 edition the course covers the material in great depth, but at he same time doesn't spend more time that necessary on each pattern. What I find very useful are the comments about common pitfalls to avoid and ways to extend and improve the implementation of these design patterns using latest language features of Java 8,9 and 10. A personal favorite of mine are the exercises that follow each design pattern allowing the student to put to practice what she learned. And if you complete all the exercises and send them to Heinz he will issue you a course completion certificate."
Stefan Dragnev

Design Patterns Course Enquiry


Participants should have a good understanding of object orientation concepts such as inheritance, encapsulation and polymorphism. Knowledge of Java is an advantage.

  • Previous Training: Preferably a formal qualification in computer science or related field.
  • Required Experience: At least one year of professional Java programming or other object-oriented language such as C# or C++.
  • Preparation: Read the book Head First Design Patterns.

Pricing Options

There are several options for you to attend this course:

1. In-house Course:

Presented at your company in-person by one of our Certified JavaSpecialist Instructors. Price is €11500 for up to 10 students, above that is an additional €800 per student, plus the travel expenses of the instructor, plus one teaching assistant. Please contact us if you have any questions.

Note: Due to the current COVID-19 pandemic, in person training is currently unavailable. Please choose Remote Instructor-Led Course instead.

2. Remote Instructor-Led Course:

Presented via video conference to your team of programmers by the author of the course. Price is €9775 for up to 10 students, above that is an additional €600 per student. Because of the extreme circumstances of COVID-19, we are also offering classes for six or more students. These are priced at €7875 for the first 6 students, thereafter an additional €675 per student. These prices are guaranteed until the 31st of May 2022.

Please contact us if you have any questions.

3. Remote Webinar-Style Course:

Presented via live webinar video conference to your team of programmers by the author of the course. This is intended for a larger audience from 50 up to 200 students. Students ask questions via text chat. The price for this course presented as a webinar is €34500 for the first 50 students, thereafter €549 per student. For example, for a course with 150 students taught in a large webinar format, the price per student is €596.

Please contact us if you have any questions.

4. Self-Study:

Please see our self-study option for more information.

* Price is excluding EU VAT and withholding taxes where applicable. Please contact us for an exact quote for your country.

Open Courses

Location Dates Presenter Language Fees

* Price is excluding EU VAT where applicable. Please contact us for an exact quote for your country.

Detailed Outline

Class Curriculum

  • 1. Introduction
    • 1.1. Lay of the Land
    • 1.2. Why Learn Patterns
    • 1.3. What is a Design Pattern
    • 1.4. References Used in Course
    • 1.5. Unified Modeling Language (UML)
    • 1.6. Java Memory Management
    • 1.7. Java HotSpot Optimizations
    • 1.8. Modern Java Syntax
  • 2. Abstract Class Pattern (PLoPD4)
    • 2.1. Abstract Class Pattern Exercise Walkthrough
  • 3. Builder Pattern (GoF and Effective Java)
    • 3.1. Builder Exercise 1 Walkthrough
    • 3.2. Builder Exercise 2 Walkthrough
  • 4. Essence Pattern (PLoPD4)
  • 5. Memento Pattern (GoF)
    • 5.1. Memento Pattern Exercise 1 Walkthrough
    • 5.2. Memento Pattern Exercise 2 Walkthrough
  • 6. Proxy Pattern (GoF)
    • 6.1. Proxy Pattern Exercise 1 Walkthrough
    • 6.2. Proxy Pattern Exercise 2 Walkthrough
  • 7. Flyweight Pattern (GoF)
  • 8. Strategy Pattern (GoF)
    • 8.1. Strategy Exercise 1 Walkthrough
    • 8.2. Strategy Exercise 2 Walkthrough
  • 9. Null Object Pattern (PLoPD3)
    • 9.1. Null Object Exercise Walkthrough
  • 10. Iterator Pattern (GoF)
    • 10.1. Iterator Pattern Exercise Walkthrough
  • 11. Factory Method (GoF and Refactoring)
  • 12. Template Method Pattern (GoF)
    • 12.1. Template Method exercise
  • 13. Composite Pattern (GoF)
    • 13.1. Composite Exercise Walkthrough
  • 14. Visitor Pattern (GoF)
    • 14.1. Visitor Exercise Walkthrough
  • 15. Acyclic Visitor Pattern (PLoPD3)
    • 15.1. Acyclic Visitor Exercise Walkthrough
  • 16. Object Recursion Pattern (PLoPD4)
  • 17. Default Visitor Pattern (PLoPD3)
    • 17.1. Default Visitor Exercise Walkthrough
  • 18. Adapter Pattern (GoF)
    • 18.1. Adapter Exercise Walkthrough
  • 19. Command Pattern (GoF)
    • 19.1. Command Exercise 1 Walkthrough
    • 19.2. Command Exercise 2 Walkthrough
  • 20. Decorator Pattern (GoF)
    • 20.1. Decorator Exercise Walkthrough
  • 21. Extension Object Pattern
  • 22. Singleton Pattern (GoF)
    • 22.1. Singleton Exercise 1 Walkthrough
    • 22.2. Singleton Exercise 2 Walkthrough
    • 22.3. Singleton Exercise 3 Walkthrough
  • 23. State Pattern (GoF)
    • 23.1. State Exercise Walkthrough
  • 24. Facade Pattern (GoF)
    • 24.b. Session Facade Pattern (JEE)
  • 25. Prototype
  • 26. Abstract Factory Pattern (GoF)
    • 26.1. Abstract Factory Exercise Walkthrough
  • 27. Interpreter Pattern (GoF)
    • 27.1. Interpreter Exercise Walkthrough
  • 28. Mediator Pattern (GoF)
  • 29. Observer Pattern (GoF)
    • 29.1. Observer Exercise Walkthrough
  • 30. Bridge Pattern (GoF)
    • 30.1. Bridge Exercise Walkthrough
  • 31. Chain of Responsibility Pattern (GoF)
    • 31.1. Chain of Responsibility Exercise Walkthrough
  • 32. Conclusion

About the Author

Heinz Kabutz Java Conference Speaker

Java Champion, author of the Javaspecialists Newsletter, conference speaking regular... About Heinz

Superpack '22

Superpack '22 Our entire Java Specialists Training in one huge bundle more...

Free Java Book

Dynamic Proxies in Java Book

110% Money-back Guarantee

Should you not be satisfied with the quality of the training or the delivery, we will gladly refund you 100% of the course fees. This needs to be brought to our attention within the first 4 hours of the course and a chance should be given to correct whatever you are not satisfied with. If you are still not satisfied, we will refund you 100% of the course fees, plus we will pay our own travel expenses. The training material then remains the property of JavaSpecialists.EU.

Cancellation Policy

If the course is cancelled more than two weeks before the start of the course, a 10% cancellation fee of the fees will apply, plus any non-refundable travel expenses incurred by the trainer.

If the course is cancelled within two weeks of the start of the course, a 50% cancellation fee of the fees will apply, plus any non-refundable travel expenses incurred by the trainer.

No refund will be given to cancellations during the course.

Java Training

We deliver relevant courses, by top Java developers to produce more resourceful and efficient programmers within their organisations.

Java Consulting

We can help make your Java application run faster and trouble-shoot concurrency and performance bugs...

Java Emergency?

If your system is down, we will review it for 15 minutes and give you our findings for just 1 € without any obligation.