Architektur von C++-Anwendungen: Entwurfsmuster und Skalierung
Architektur von C++-Anwendungen: Entwurfsmuster und Skalierung
Zusammenfassung:
Das Buch „Architektur von C++-Anwendungen“ ist ein umfassender Leitfaden für den Entwurf und die Entwicklung komplexer Softwaresysteme in der Sprache C++. Im Gegensatz zu vielen Lehrbüchern, die sich auf die Syntax konzentrieren, widmet sich dieses Buch gezielt architektonischen Entscheidungen: wie man Code organisiert, damit er flexibel, testbar und über viele Jahre hinweg leicht wartbar ist.
Der Autor führt den Leser konsequent von grundlegenden Prinzipien zu fortgeschrittenen Techniken. Der erste Teil des Buches macht mit den Grundlagen vertraut: SOLID, GRASP, Komposition und Vererbung, Abhängigkeitsinversion. Sie erfahren, wie Sie bereits in der Entwurfsphase „gottgleiche Objekte“ und „Spaghetti-Code“ vermeiden.
Im zweiten Teil werden die klassischen Erzeugungs-, Struktur- und Verhaltensmuster der GoF mit Beispielen in modernem C++ (C++17/20) detailliert behandelt. Jedes Muster wird nicht isoliert betrachtet, sondern im Kontext realer Aufgaben: Arbeit mit externen APIs, Ereignisverarbeitung, Konfigurationsverwaltung.
Besonderes Augenmerk wird auf die für C++ spezifischen Probleme gelegt: Speicherverwaltung (Smart Pointer, Pools, Allokatoren), RAII, Multithreading und Asynchronität (std::async, std::future, Threads). Sie lernen, Systeme zu entwerfen, die in einer Multithreading-Umgebung ohne Datenkonflikte und Deadlocks korrekt funktionieren.
Ein eigenes Kapitel widmet sich dem Testen der Architektur: Unit-Tests, Mock-Objekte, Integrationstests und wie die Architektur die Testbarkeit des Codes beeinflusst. Auch Themen wie Dokumentation, Code-Review und Refactoring von Legacy-Projekten werden behandelt.
Das Buch richtet sich an C++-Entwickler, die bereits Code schreiben, aber auf die nächste Stufe gelangen möchten – von „es funktioniert einfach“ zu „es ist gut entworfen“. Es ist sowohl für Middle-Entwickler als auch für Senior-Ingenieure nützlich, die ihr Wissen systematisieren möchten. Auch Studierende höherer Semester technischer Fachrichtungen finden hier praktische Beispiele, die die akademische Theorie ergänzen.
Nach der Lektüre werden Sie in der Lage sein:
- SOLID und GRASP für den Entwurf flexibler Systeme anzuwenden
- Geeignete Entwurfsmuster auszuwählen und zu implementieren
- Sichere Multithreading-Architekturen zu entwerfen
- Speicher in großen Projekten effizient zu verwalten
- Testbaren Code zu schreiben und eine änderungsresistente Architektur aufzubauen
- Legacy-Code ohne Funktionsverlust zu refaktorisieren
Das Buch enthält zahlreiche Codebeispiele, Diagramme und Übungen zur eigenständigen Arbeit. Alle Beispiele wurden mit aktuellen Compilern (GCC, Clang, MSVC) getestet und entsprechen den Standards C++17/20. Es ist nicht nur ein Nachschlagewerk, sondern ein praktisches Handbuch, das Ihnen hilft, zuverlässige und skalierbare Anwendungen in C++ zu erstellen.