Wednesday 

Room 4 

10:20 - 11:20 

(UTC+02

Talk (60 min)

Design Patterns - The Most Common Misconceptions (2 of N)

Design patterns are everywhere, as they are the key to managing dependencies between software entities.

C++
Technique

But despite their fundamental importance, there are some common misconceptions about them, in particular about several of the most often used design patterns:

  • The modern form of the Visitor design pattern, std::variant, is often considered a replacement of virtual functions.
  • The Decorator design pattern is sometimes mistaken as the Adapter design pattern.
  • The Chain of Responsibility design pattern is often confused with Decorators.
  • Explicit object parameters (“deducing this”) is often named as a modern, better form of CRTP.

In this talk I'll shed some light on these misconceptions and explain how to properly distinguish between the different
design patterns.

Klaus Iglberger

Klaus Iglberger is a freelancing C++ trainer and consultant. He has finished his PhD in computer science in 2010 and since then is focused on large-scale C++ software design. He shares his experience in popular advanced C++ courses around the world (mainly in Germany, but also the EU and US). Additionally, he is the initiator and lead designer of the Blaze C++ math library (https://bitbucket.org/blaze-lib/blaze/src/master/) and an organizer of the Munich C++ user group (https://www.meetup.com/MUCplusplus/).