C++ Design Patterns haben sich über Jahrzehnte als sinnvolles Hilfsmittel erwiesen, um robuste, entkoppelte Systeme zu entwickeln. Allerdings hat sich in den letzten Jahren die Art und Weise, wie wir C++ verwenden, über Design nachdenken und Lösungen entwickeln, zutiefst verändert. Dieser Kurs erforscht modernes C++ Design und die modernen Formen der klassischen Design Patterns. Es vermittelt die wichtigsten Richtlinien und Regeln für nachhaltiges, wartbares und modernes Design, das in Hinblick auf Kopplung, Benutzerfreundlichkeit und Performance dem alten Design überlegen ist. Unter anderem wird es die folgenden Fragen beantworten:
- Wie sieht guter C++ Code mit einem Minimum an Abhängigkeiten aus?
- Warum versagt klassisches, auf Vererbungshierarchien basiertes C++ Design so häufig?
- Welche Vorteile bietet Design basierend auf "Value Semantics"?
- Wie werden die klassischen Design Patterns in modernem C++ realisiert?
- Was sind die Alternativen zu den klassischen Design Patterns?
Nach diesem Kurs werden die Teilnehmer ...
- ... einen Eindruck von den modernen Alternativen der klassischen Design Patterns haben;
- ... Wissen über die neuesten Design-Techniken gewonnen haben;
- ... verstehen, wie std::function, std::any, und Ranges funktionieren;
- ... die üblichen Fallstricke bei Vererbungshierarchien vermeiden;
- ... die Wichtigkeit der "Value Semantics" verinnerlicht haben.
Inhalt:
- (De-)Motivation: Die Risiken von Vererbungshierarchien
- Klassische Design Patterns (Command, Prototype, Strategy, Observer, Visitor, Factory, Decorator, Template Method)
- Moderne C++ Design Patterns (Type Erasure, Expression Templates, Policy Based Design, CRTP)
Jetzt anmelden