Running on Java 24-ea+24-2960 (Preview)
Home of The JavaSpecialists' Newsletter

Java Design Patterns Course

The Timeless Way of Coding

Using Java 17

Duration of 4 Days


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


Prerequisites

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

We have several options for you to join this course:

1. Virtual In-house 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.

  • Example 1: Course with 8 students taught remotely via video conference, price is €9775. Price per student is €1221.
  • Example 2: Course with 12 students taught remotely via video conference, price is €10975. Price per student is €914.
  • Example 3: Course with 24 students taught remotely via video conference, price is €18175. Price per student is €757.

Please contact us if you have any questions.

2. In-person In-house Course:

Presented at your company in-person by one of our Certified JavaSpecialist Instructors. Price is €14350 for up to 10 students, above that is an additional €883 per student, plus the travel expenses of the instructor. Note that for in-person in-house courses, we need a minimum of three consecutive training days.

  • Example 1: Course with 8 students taught on-site at your company, price is €14350. Price per student is €1793.
  • Example 2: Course with 12 students taught on-site at your company, price is €16116. Price per student is €1343.
  • Example 3: Course with 18 students taught on-site at your company, price is €21414. Price per student is €1189.

Please contact us if you have any questions.

2. Open Enrollment Classroom Course:

We occasionally offer this course as a classroom course in Chania on the Island of Crete. Price for the course is €2995 per student.

We also offer this course as an open enrollment live remote course that you can attend from anywhere. Price is €1995 per student.

Please contact us if you have would like to make a booking or if you have any questions.

4. Self-Paced Course:

This course is also available as a self-paced course.

Please contact us if you have any questions.

* Prices exclude EU VAT and withholding taxes where applicable. Please contact us for an exact quote for your country.

Open Courses

All our courses are offered as in-house courses. Please contact us on heinz@javaspecialists.eu.

* 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 '23

Superpack '23 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...