Room 3 

11:40 - 12:40 


Talk (60 min)

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

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:

  • Factory functions are frequently mistaken for the Factory Method design pattern
  • The Builder design pattern is often associated with the implementation of constructors
  • The Bridge and Strategy design patterns are regularly mixed-up
  • The modern form of the Visitor design pattern, std::variant, is often considered a replacement of virtual functions
  • (Bonus) The Decorator design pattern is sometimes mistaken as the Chain of Responsibility design pattern

In this talk I'll shed some light on these misconceptions and explain why they obstruct the proper communication about software design and architecture. Additionally, I’ll address the biggest misconception of all: design patterns are a tool for object-oriented programming.

Klaus Iglberger

Klaus Iglberger is a freelance C++ trainer and consultant. He shares his expertise in popular C++ courses — from beginner to advanced — all around the world. He is the author of “C++ Software Design” [1], one of the organizers of the Munich C++ user group [2], and the (co-)organizer of the Back-to-Basics [3] and Software Design [4] tracks at CppCon.