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

Speaker: Klaus Iglberger

Audience level:

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

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 considered 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.