pexels-yan-krukau-7693686

Workshop

C++ Software Design

Registration includes:

  • Attendance to the workshop with coffee break and cocktail lunch
  • Free attendance at the Using std::cpp 2025 event on March 19th, 20th and 21st for the first 20 registered

C++ Software Design

The design plays a much more central role in the success of a project than any feature could ever do.

Good software is not primarily about the proper use of any feature; rather, it is about solid architecture and design. Good software design can tolerate some bad implementation decisions, but bad software design cannot be saved by the heroic use of features (old or new) alone.

Good software design is essential for the success of a project and design patterns are the core ingredient for that. They 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 1-day training explores modern C++ design and the modern forms of the classic Gang-of-Four (GoF) design patterns. It provides guidelines, idioms and best practices for sustainable and maintainable design, which enable programmers to create professional, high-quality code.

The Visitor Design Pattern
  • The classic GoF form
  • The modern form with std::variant
The Strategy Design Pattern
  • The classic GoF form
  • The modern dynamic form with std::function
  • The modern static form with templates
The External Polymorphism Design Pattern
  • Consequent separation of concerns
  • Non-Intrusive design
The Prototype Design Pattern
  • Virtual copying
The Bridge Design Pattern
  • Hiding implementation details
  • The Pimpl Idiom
  • The Fast Pimpl Idiom
The Type Erasure Design Pattern
  • A clever combination of patterns: External Polymorphism, Bridge and Prototype
  • Value semantics vs. Reference semantics

Trainer

Klaus Iglberger

Klaus Iglberger

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

Requirements

• Software Requirements

There is no requirement on the operating system. The programming exercises work on Windows, Linux or MacOS. For the programming exercises, participants must be provided with a C++17/20/23 compiler. Additionally, for Windows with Visual Studio CMake is required to generate the according VS solutions.

• Computer Equipment

Participants are either required to bring their own laptops with a modern C++ compiler installed

• Previous Knowledge

Participants are required to have at least two to three years of C++ experience. The course expects that all participants are familiar with the syntax of the language and have used inheritance and templates before.

Meeting point for C++ developers and as exchange forum of ideas and experiences around the use of the C++ programming language
Using std::cpp 2025 Event

C++ Software Design

Date:
March 18, 2025

Format:
Face to face

Type of course:
Workshop

Schedule:
9.00 – 18.30

Price:
360 €

    Déjanos tus datos de contacto para poder facilitarte el programa de Jornadas de Estudio PROMs y PREM

      Déjanos tus datos de contacto para poder facilitarte el programa de estudios del bootcamp IA aplicada a la Imagen Médica

        Déjanos tus datos de contacto para poder facilitarte el Programa de la segunda edición de Actualización de Derecho Laboral

          Déjanos tus datos de contacto para poder facilitarte el Programa de Actualización de Derecho Laboral

            Déjanos tus datos de contacto para poder facilitarte el programa de estudios del Postgrado en Compliance

              Déjanos tus datos de contacto para poder facilitarte el programa de estudios del Curso Inteligencia Artificial & Ciencia de Datos

                Déjanos tus datos de contacto para poder facilitarte el programa de estudios del bootcamp en Analítica de Datos en Cloud

                  Déjanos tus datos de contacto para poder facilitarte el programa de estudios del bootcamp Devops&IaC

                    Déjanos tus datos de contacto para poder facilitarte el programa de estudios del bootcamp Data Science

                    Resolvemos tus dudas

                    Contacto

                    Ponte en contacto con nosotros para resolver cualquier duda que te pueda surgir respecto a nuestra formación

                    91 624 40 66 ó
                    91 624 40 69

                    ¡Llámanos!

                    ¿Necesitas ayuda?

                      Resolvemos tus dudas

                      Contacto

                      Ponte en contacto con nosotros para resolver cualquier duda que te pueda surgir respecto a nuestra formación

                      91 624 40 66 ó
                      91 624 40 69

                      ¡Llámanos!

                      ¿Necesitas ayuda?

                        Resolvemos tus dudas

                        Contacto

                        Ponte en contacto con nosotros para resolver cualquier duda que te pueda surgir respecto a nuestra formación

                        91 624 40 66 ó
                        91 624 40 69

                        ¡Llámanos!

                        ¿Necesitas ayuda?




                          He leído y acepto la Política de Privacidad.

                          Resolvemos tus dudas

                          Contacto

                          Ponte en contacto con nosotros para resolver cualquier duda que te pueda surgir respecto a nuestra formación

                          91 624 40 66 ó
                          91 624 40 69

                          ¡Llámanos!

                          ¿Necesitas ayuda?




                            He leído y acepto la Política de Privacidad.