Bewertung:

Das Buch wird für seine Erforschung von C++-Vorlagen und Metaprogrammierungstechniken hoch geschätzt, und viele Rezensenten loben seine Originalität, Tiefe und Auswirkungen auf die fortgeschrittene Programmierung. Während es für erfahrene Programmierer wichtige Einblicke und Techniken bietet, wird es als anspruchsvoll und nicht für Anfänger geeignet bezeichnet.
Vorteile:⬤ Bietet bahnbrechende Einblicke in C++-Templates und Metaprogrammierung.
⬤ Beschreibt innovative Techniken wie richtlinienbasiertes Design und Typelisten.
⬤ Sehr empfehlenswert für mittlere bis fortgeschrittene Programmierer.
⬤ Bietet praktische Lösungen für den Aufbau von wiederverwendbaren Komponenten und Entwurfsmustern, was es für Autoren von Bibliotheken und Softwarearchitekten wertvoll macht.
⬤ Auch mit älteren C++-Standards bleibt das Material relevant und beeinflusst weiterhin weitere Bibliotheken wie Boost.
⬤ Der Komplexitätsgrad ist hoch, so dass es für Anfänger oder unerfahrene Programmierer nicht geeignet ist.
⬤ Einige Rezensenten bemerken zahlreiche Tippfehler und Probleme mit Codeschnipseln, die das Verständnis erschweren.
⬤ Teile des Buches könnten angesichts der jüngsten Entwicklungen in C++ veraltet wirken.
⬤ Der Schwerpunkt auf bestimmten fortgeschrittenen Konzepten mag nicht alle Programmierbedürfnisse ansprechen, was einige dazu veranlasst, es als Overkill zu betrachten.
(basierend auf 105 Leserbewertungen)
Modern C++ Design: Generic Programming and Design Patterns Applied
In Modern C++ Design eröffnet Andrei Alexandrescu neue Perspektiven für C++-Programmierer. Mit außergewöhnlicher Kreativität und Programmiervirtuosität bietet Alexandrescu einen innovativen Entwurfsansatz, der Entwurfsmuster, generische Programmierung und C++ vereint und es Programmierern ermöglicht, ausdrucksstarken, flexiblen und in hohem Maße wiederverwendbaren Code zu erstellen.
Dieses Buch stellt das Konzept der generischen Komponenten vor - wiederverwendbare Entwurfsvorlagen, die Boilerplate-Code für den Compiler erzeugen - alles in C++. Generische Komponenten ermöglichen einen einfacheren und nahtloseren Übergang vom Entwurf zum Anwendungscode, erzeugen Code, der die ursprüngliche Entwurfsabsicht besser zum Ausdruck bringt, und unterstützen die Wiederverwendung von Entwurfsstrukturen mit minimaler Neukodierung.
Der Autor beschreibt die spezifischen C++-Techniken und -Features, die bei der Erstellung generischer Komponenten zum Einsatz kommen, und geht auf die Implementierung industrietauglicher generischer Komponenten für reale Anwendungen ein. Wiederkehrende Probleme, mit denen C++-Entwickler in ihrer täglichen Arbeit konfrontiert sind, werden eingehend erörtert und auf generische Art und Weise umgesetzt. Dazu gehören:
⬤ Politik-basiertes Design für Flexibilität.
⬤ Partielle Template-Spezialisierung.
⬤ Typelisten - leistungsfähige Strukturen zur Typmanipulation.
⬤ Patterns wie Visitor, Singleton, Command und Factories.
⬤ Multi-Methoden-Engines.
Für jede generische Komponente stellt das Buch die grundlegenden Probleme und Entwurfsoptionen vor und implementiert schließlich eine generische Lösung.
Darüber hinaus stellt eine begleitende Website, http: //www.awl.com/cseng/titles/0-201-70431-5, die Code-Implementierungen für die generischen Komponenten im Buch zur Verfügung und bietet eine kostenlose, herunterladbare C++-Bibliothek, genannt Loki, die vom Autor erstellt wurde. Loki bietet sofort einsatzbereite Funktionalität für praktisch jedes C++-Projekt.
Holen Sie sich einen Mehrwertdienst. Probieren Sie alle Beispiele aus diesem Buch unter www.codesaw.com aus. CodeSaw ist ein kostenloses Online-Lerntool, mit dem Sie direkt in Ihrem Browser mit dem Live-Code aus dem Buch experimentieren können.