do not click

Meeting C++ 2024   |  Online   |  Training   |  Books   |  Survey   |  Job fair   |  Advertising   |  Jobposting   |  Login

Meeting C++ Trainings listing

All trainings default to the Berlin (Germany) timezone

C++ Software Design

Klaus Iglberger

This is an online training

24.02.2025 for 3 day(s)

visit the ticketshop

Trainings Details

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.

(Klaus Iglberger, C++ Software Design)

This 3-day training class gives an introduction to software design and provides guidelines, idioms and best practices for sustainable and maintainable design, which enable programmers to create professional, high-quality code. In particular, it explains why dependency management plays such a vital role, but also shows how to manage dependencies by means of design patterns. It highlights why design patterns have proven to be useful over several decades and why knowledge about them is still very useful to design robust, decoupled systems.  Moreover, it demonstrates how modern C++ has changed the way we think about design and implement solutions.

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.

Trainings Agenda

  • Basic Design Principles (SOLID)
    • The Single Responsibility Principle
    • The Open-Closed Principle
    • The Liskov Substitution Principle
    • The Interface Segregation Principle
    • The Dependency Inversion Principle
  • Classic Design Patterns Revisited
    • Visitor (GoF style vs. modern style)
    • Strategy (GoF style vs. modern style)
    • Command
    • Prototype
    • Adapter
    • Bridge
    • Factory Method
    • Decorator
    • Facade
    • Proxy
    • State
    • Singleton
    • Template Method
  • Modern C++ Design Patterns
    • Type Erasure
      • How/Why Type Erasure can replace inheritance
      • Basic implementations
      • Performance optimizations (incl. Small Buffer Optimization)
    • Curiously Recurring Template Pattern (CRTP)
      • Static Interfaces
      • Mixins
      • Concept-based CRTP
    • Expression Templates
      • Lazy-evaluated compile-time Decorators
      • Examples from the Standard Library
    • Policy-Based Design

Get your ticket now

Number of attendees is limited, please get your spot early.

Important: please register attendees with THEIR email, important details are shared by email.

visit the ticketshop

Copyright Meetingcpp GmbH Imprint Privacy Policy