Modern C++ Design Patterns [English]

  • Live
  • 10:00
  • EN

Date: 11.12.2020
Time: 10:00 - 19:00 (GMT+3)
Place: Zoom
300 BYN (till 22.11.2020)
350 BYN (till 29.11.2020)
400 BYN (till 10.12.2020)
Duration: 8h

Design patterns have proven to be useful over several decades and knowledge about them is still very useful to design robust, decoupled systems. Modern C++, however, has profoundly changed the way we use C++, think about design and implement solutions. This hands-on training explores modern C++ design and the modern forms of the classic design patterns. It provides guidelines, idioms and best practices for sustainable and maintainable design, which enable programmers to create professional, high-quality code. Amongst others it will answer the following questions:
- How does good C++ design with a minimum of dependencies look like?
- Why does classical C++ design based on inheritance hierarchies fail so often?
- What advantages does value semantics based design provide?
- How are the classic design patterns realised in modern C++?
- What are alternatives to the classic design patterns?

After this course, participants will ...
... have an impression on the modern alternatives of classic design patterns;
... have gained knowledge about modern design techniques;
... understand how std::function, std::any, and ranges work;
... avoid the usual pitfalls in the context of inheritance;
... know about the importance of value semantics.

Classic Design Patterns Revisited:
- Command
- Prototype
- Strategy
- Observer
- Visitor
- Factory
- Decorator
- Template Method
- Singleton

Modern Design Patterns:
- Type Erasure
- Expression Templates
- Policy Based Design

Klaus Iglberger

Independent consultant, Munich, Germany

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 …