Patterns in practice

Patterns (such as the famous GoF Design Patterns) are essential if you want to develop reliable and maintainable software according to the proven OO principles. To start with, patterns are frequently incorporated in existing frameworks, programming languages and class libraries: if you understand patterns, you will use these programming resources more efficiently. In addition to that, being able to recognize problem situations and to actively apply patterns to them is the key to a more robust design.

This course explains what patterns are, and gives a detailed discussion of the most common design patterns (the problem, the solution, the motivation, the usage examples). and their (subtle) relations and differences.


No public sessions are currently scheduled. We will be pleased to set up an on-site course or to schedule an extra public session (in case of a sufficient number of candidates). Interested? Please let us know.

Intended for

System architects and developers of object oriented applications.


Students should be familiar with basic OOAD and UML principles (cf. OO analysis and design with UML) and have experience with an object oriented programming language (e.g. Java, C#,...).

Main topics

  • What are patterns and why are they used?
  • Software patterns (GRASP, Analysis Patterns, GoF Patterns, Java EE Patterns, MVC, ...)
  • Common design patterns in detail (Strategy, Observer, Decorator, Chain-of-Responsibility, Factory Method, and many others...)
  • Patterns in architecture and frameworks, SOA patterns
  • Recognizing patterns
  • Patterns and performance
  • Application samples

Training method

Theory alternated with practical examples (demos).


2 days.

Course leader

Sandy Schillebeeckx.