Software Design mit Modernem C++

Classroom Schulung | Deutsch | Anspruch

Schulungsdauer: 3 Tage

Ziele

Dieser Kurs "Software Design mit Modernem C++" für Fortgeschrittene ist ein Training zu gutem Software-Design mit der C++ Programmiersprache. Der Fokus der Schulung liegt auf auf den wichtigsten und bewährten C++- spezifischen Software-Entwicklungsprinzipien und -Konzepten, die Entwickler benötigen, um professionellen, hoch-qualitativen Code zu schreiben. Dieser Kurs vertieft das Verständnis des Kerns der C++ Programmiersprache, bietet Orientierung bei der Entwicklung von ausgereifter, robuster, wartbarer und effizienter Software mit einem Minimum an Abhängigkeiten und hilft, die häufigsten Fallstricke zu vermeiden.

Zielgruppe

Das Seminar ist für alle Entwickler mit 1-2 Jahren C++-Erfahrung geeignet.

Voraussetzungen

Teilnehmer sollten mindestens ein bis zwei Jahre C++-Erfahrung mitbringen. Für diesen Kurs wird vorausgesetzt, dass die Teilnehmer ein gutes Verständnis der Sprachmechanik haben (z.B. Header-Dateien, Quelldateien, Kompilieren), mit der Syntax der Sprache vertraut sind (z.B. Pointer und Referenzen, Schleifen, Klassen, ...), die grundlegenden Features kennen (Constructors, Destructors, ...) und Vererbung und Templates bereits genutzt haben. Es wird auch vorausgesetzt, dass die üblichen Komponenten der Standardbibliothek bekannt sind (z.B. std::vector).

Agenda

Grundlegende Design-Prinzipien

  • Das Ziel von gutem Software-Design
  • Die SOLID Prinzipien

Konzepte und die STL

  • Das Design der STL: Value Semantics
  • Konzepte in C++
  • Überblick über die STL
  • STL-Algorithmen
  • STL-Container

Klassen-Design: Der Weg zu Value Semantics

  • Die "Compiler Generated Functions"
  • Die Lebenszeit von Objekten (RAII)
  • Move Semantics
  • Member Data
  • Member Functions
  • Allgemeines Klassen-Design
  • Const Correctness
  • Sichtbar oder Zugreifbar?

Dynamischer Polymorphismus im modernen C++

  • Die Gefahren von Vererbung
  • Wie Value Semantics die klassischen Design Patterns verändert
  • Das Strategy Design Pattern
  • Das Visitor Design Pattern
  • Vererbung Ja, aber Richtig
  • Gute Beispiele für "Public Inheritance"
  • Schlechte Beispiele für "Public Inheritance"
  • Überraschungen in Vererbungshierarchien

Ziele

Dieser Kurs "Software Design mit Modernem C++" für Fortgeschrittene ist ein Training zu gutem Software-Design mit der C++ Programmiersprache. Der Fokus der Schulung liegt auf auf den wichtigsten und bewährten C++- spezifischen Software-Entwicklungsprinzipien und -Konzepten, die Entwickler benötigen, um professionellen, hoch-qualitativen Code zu schreiben. Dieser Kurs vertieft das Verständnis des Kerns der C++ Programmiersprache, bietet Orientierung bei der Entwicklung von ausgereifter, robuster, wartbarer und effizienter Software mit einem Minimum an Abhängigkeiten und hilft, die häufigsten Fallstricke zu vermeiden.

Zielgruppe

Das Seminar ist für alle Entwickler mit 1-2 Jahren C++-Erfahrung geeignet.

Voraussetzungen

Teilnehmer sollten mindestens ein bis zwei Jahre C++-Erfahrung mitbringen. Für diesen Kurs wird vorausgesetzt, dass die Teilnehmer ein gutes Verständnis der Sprachmechanik haben (z.B. Header-Dateien, Quelldateien, Kompilieren), mit der Syntax der Sprache vertraut sind (z.B. Pointer und Referenzen, Schleifen, Klassen, ...), die grundlegenden Features kennen (Constructors, Destructors, ...) und Vererbung und Templates bereits genutzt haben. Es wird auch vorausgesetzt, dass die üblichen Komponenten der Standardbibliothek bekannt sind (z.B. std::vector).

Agenda

Grundlegende Design-Prinzipien

  • Das Ziel von gutem Software-Design
  • Die SOLID Prinzipien

Konzepte und die STL

  • Das Design der STL: Value Semantics
  • Konzepte in C++
  • Überblick über die STL
  • STL-Algorithmen
  • STL-Container

Klassen-Design: Der Weg zu Value Semantics

  • Die "Compiler Generated Functions"
  • Die Lebenszeit von Objekten (RAII)
  • Move Semantics
  • Member Data
  • Member Functions
  • Allgemeines Klassen-Design
  • Const Correctness
  • Sichtbar oder Zugreifbar?

Dynamischer Polymorphismus im modernen C++

  • Die Gefahren von Vererbung
  • Wie Value Semantics die klassischen Design Patterns verändert
  • Das Strategy Design Pattern
  • Das Visitor Design Pattern
  • Vererbung Ja, aber Richtig
  • Gute Beispiele für "Public Inheritance"
  • Schlechte Beispiele für "Public Inheritance"
  • Überraschungen in Vererbungshierarchien

Tags

Diese Seite weiterempfehlen