Architektur von C++-Anwendungen: Skalierbarkeit und Wartbarkeit
Architektur von C++-Anwendungen: Skalierbarkeit und Wartbarkeit
Zusammenfassung:
Das Buch „Architektur von C++-Anwendungen“ ist ein praktischer Leitfaden zur Erstellung skalierbarer, wartbarer und leistungsfähiger Softwaresysteme in der Sprache C++. Im Gegensatz zu vielen Lehrbüchern, die sich auf Syntax oder einzelne Algorithmen konzentrieren, widmet sich dieses Buch der Frage, wie man in allen Phasen der Entwicklung die richtigen Architekturentscheidungen trifft: von der Wahl der Projektstruktur bis zur Implementierung komplexer Entwurfsmuster und der Verwaltung von Abhängigkeiten.
Der Autor, Alexei Petrow, ein Senior-Entwickler mit 15 Jahren Erfahrung, teilt praxisbewährte Ansätze. Sie lernen nicht nur, Code zu schreiben, sondern Systeme zu bauen, die sich leicht erweitern, testen und über Jahre hinweg warten lassen.
Für wen ist dieses Buch?
- Junior- und Middle-Entwickler, die vom Schreiben von „funktionierendem Code“ zum Entwurf von Architektur übergehen möchten.
- Senior-Ingenieure, die ihr Wissen systematisieren und moderne Ansätze (C++17/20) erlernen möchten.
- Softwarearchitekten, die konkrete Beispiele für die Implementierung von Patterns in C++ suchen.
- Team-Leads, die eine Kultur von qualitativ hochwertigem Code und Code-Reviews in ihrem Team etablieren möchten.
Was werden Sie aus dem Buch lernen?
- Grundlegende Prinzipien: SOLID, DRY, KISS, YAGNI und deren Anwendung im Kontext von C++.
- Entwurfsmuster: Implementierung klassischer GoF-Patterns (Factory, Observer, Strategy, Command) unter Berücksichtigung der Besonderheiten von C++ (RAII, Smart Pointer, Move-Semantik).
- Abhängigkeitsverwaltung: Lose Kopplung, Dependency Injection (DI), Arbeit mit der Pimpl-Idiom.
- Modularität und Komponenten: Entwurf von Bibliotheken, Arbeit mit Namensräumen, C++20-Module.
- Speicherverwaltung: Wie man Speicherlecks vermeidet, Smart Pointer, Speicherpools und Allokatoren richtig einsetzt.
- Architekturtests: Unit-Tests, Mocks, Testen der Komponentenzusammenstellung.
- Refactoring von Legacy-Code: Schrittweise Strategien zur Umwandlung von „Spaghetti-Code“ in eine saubere Architektur.
- Leistung und Sicherheit: Profiling, Asynchronität, Arbeit mit Multithreading ohne Datenrennen.
Besonderheiten des Buches
- Alle Codebeispiele sind in modernem C++17/20 unter Verwendung von std::optional, std::variant, ranges geschrieben.
- Reale Fallbeispiele aus der Industrie: Spiele-Engines, Finanzsysteme, eingebettete Software.
- Übungen und Fragen zur Selbstkontrolle am Ende jedes Kapitels.
- Vergleichende Analyse verschiedener Architekturansätze (Monolith, Microservices, Plugins).
Das Buch ist in den Formaten PDF, EPUB und online auf der Website PythonLib verfügbar. Ideal für alle, die nicht nur Programmierer, sondern Ingenieur-Architekt werden möchten.
Empfehlungen
Professionelles Swift (iOS/macOS): Fortgeschrittene Techniken
Parallelität in TypeScript: Asynchrone und parallele Programmierung
Maschinelles Lernen und Swift: Entwicklung intelligenter Apps für iOS/macOS
Testen von Rust-Anwendungen: Von Unit-Tests bis zu Integrationsszenarien
Hochleistungs-JavaScript
TypeScript für Profis