Hands-On Design Patterns with C++: Solve common C++ problems with modern design patterns and build robust applications
M**V
The new look at the old patterns
The book covers the most important topics of modern C++: RAII, memory ownership, SFINAE, CRTP, Scope Guard, etc. It begins with explaining C++ tricks in generics in the first part of the book. The second logical part reviews the traditional C++ patterns (that were described in the classical «Design Patterns – Elements of Reusable Object-Oriented Software»). The Fedor’s goal is to improve them by the newest C++ 11/14/17 features.The author made the great work: his explanation is clear and accurate. The examples are short and extremely focused on specific topics.In my opinion, the book is in the same area as the Andrei Alexandrescu's book, named "Modern C++ Design: Generic Programming and Design Patterns Applied", but the Fedor's book is the newest one and much close to a regular developer.
K**G
Good Book
I am impressed with the down to earth explanations of C++ features and how to use them to solve practical C++ design issues.
P**K
Well worth the money and time
This is a great refresher for intermediate and advanced C++ programmers
K**.
Very good book for midlevel - advanced programmers
This book covers the topic very well with good code examples. A must read for c++ programmers, not for beginners though.
B**T
Very nice book for the developers having intermediate skills in OOPS Concepts
Book is covered with some basic concepts like Inheritance, Polymorphism, Named arguments, method cascading, error handling, function templates and provided code snippets help extending the practice. Along with the above mentioned core topics, advanced topics like Adapters and Policy-based designs are well demonstrated with basic coding algorithms.It would be nice to add a problem solving questions at the end of the each topic along with the theory questions. Which will help developers to practice the topic and solve the problems before moving to the next topic.
A**R
Doesn’t provides the big picture as GOF does
Maybe it would be the book for those who can see the program with the big architectural insight, and needs small detail for the specific way that modern C++ only provides. However, I believe that most of the readers who seeks the “Design Pattern Book” are not in the category. Although the GOF one was the perfect solution at their ages, it is outdated... Smalltalk could not survive the test of time! I expected the substitute for the GOF with the C++, but this book was not.
S**D
Must read for intermediate and professional C++ developers
Prerequisite: Basic knowledge of C++ required.Review:The chapters are organized properly. It starts with tricks in C++, inheritance, templates and goes to design patterns, and advanced design patterns(adapters and decorators, policy based design)The book is an exceptional guide for both intermediate and pro developers. The writing style is clear, concise, and engaging, making complex concepts easy to grasp.The examples provided are well-thought-out and demonstrate the practical implementation of each pattern, making it easier for readers to comprehend. The book also covers challenges faced and issues during the implementation. I would recommend this book to developers who want to enhance their knowledge in design patterns and understand the concepts in depth.
C**P
Lots of advanced concepts using modern language features
I was the technical reviewer for this book. Mr Pikus did an amazing job writing about the advanced topics in this book. Some are a bit difficult to follow but there's plenty of examples in each chapter to help with the explanations. Before reading this book I only knew a handful of these patterns so this book definitely expanded my knowledge. I come from a C++ 98 and 03 background so I did struggle a little bit with patterns that made heavy use of C++11, 14, and even 17 features. I'd recommend being familiar with at least C++11 before diving into this book, or at least learning it in parallel if you don't know it already. Some of the patterns may be more useful than others and whether or not you'll actually find them helpful will largely be determined by what you're writing. If nothing else, this book is great reference material to keep handy.
J**R
Patrones de Diseño además de idioms de C++
Puedes considerar este libro como un libro de patrones de diseño a "bajo nivel". No sólo explica cómo implementar diversos patrones de diseño desde una perspectiva más apropiada para C++, sino que también explica "idioms" específicos de C++. Temas del libro que he encontrado especialmente interesantes: Type Erasure, Local Buffer Optimization, Policy-Based Design, Friend Factory. El auténtico valor del libro reside en la cantidad de técnicas y conceptos que expone al lector. Muy útil también para arquitectos del software que cuyo lenguaje de programación sea C++.
M**I
Masterpiece!!!
This book is without any doubt a masterpiece. With excellent explanation and patterns implemrntation that shows massive experience of the author in real world software development. Of course reading the book need a strong C++ background. Except for the chapter related to the type erasure which I think could be written better, other chapters could be used as reliable and correct reference for developers to be applied in their projects.
V**R
Good
Excellent content
M**S
If you want to deep-dive into the language…
… this is it. The author uses all(?) language features to explain in detail how common programming patterns can be efficiently coded with C++.
G**Y
Buch ausgezeichnet, aber nichts für Neulinge!
Vorweg: Das Buch eignet sich nicht für Programmierneulinge! Man sollte sowohl einige Kenntnisse über modernes C++ (C++-17) als auch über Design Patterns haben, um es sinnvoll nutzen zu können. Wer zum Beispiel eine Diskussion von Pro und Kontra der einzelnen Design Patterns sucht, um das geeignete DP auswählen zu können, ist mit den guten alten "Design Patterns" der GoF besser bedient.Viele der im Buch gemachten Vorschläge werden von Mikro-Benchmarking (mithilfeder Google-Benchmark-Library) begleitet.Das Buch ist also für C++-Programmierer interessant, die Performance-Problemezu lösen haben und die üblichen Optimierungsmethodem (wie etwaRe-Implementierung mit einem effizienteren Algorithmus oder Parallelisierung)ausgeschöpft haben bzw. sich auf darüber hinaus gehende Möglichkeiten vorbereiten wollen.Das Buch ist in einzelne Kapitel gegliedert, die sich unabhängig voneinanderlesen lassen.UML-Diagramme werden im Buch nicht verwendet. Mit ihnen lassen sich C++-Feinheiten wiePointer und References oder unterschiedlich Template-Varianten auch nicht gut darstellen, sodass mir diesbezüglich nichts abgeht. Außerdem wird in der C++-Welt sehr viel Wert auf das Lesen von Source-Code gelegt.Positiv empfinde ich, dass im wesentlichen der gleiche moderne Programming-Styleverwendet wird wie bei cppreference oder auf isocpp.Natürlich hat das Buch auch aus meiner Sicht ein paar Fehler:Als (auch altersbedingten) Fehlsichtigen stört mich, dass die Code-Beispielein einem deutlich kleineren Font gesetzt sind, als der für den Text verwendete Font. Monospaced Fonts, wie sie bei Code-Beispielen üblich sind, benötigen an sich ja mehr Platz und daher wirdeine kleinere Font-Size verwendet. Aber eine Font-size zu verwenden, die nur zwei Drittel der Zeilenhöhe hat wie der normale Text, ist hier zuviel des Guten. Dass die Code-Beispiele bei Packt downgeloadet werden können, ist nur ein mangelhafter Ersatz für die leichte Lesbarkeit.Ein kleines Hoppala ist dem Lektorat entgangen: im Kapitel über Singletonswird statt des Reference-Declarators "&" (das Et-Zeichen, engl. Ampersand) dieHTML/SGML-Entity "&" gedruckt.Es steht alsoSingleton&anstelle des richtigenSingleton&In anderen Kapiteln, in denen References verwendet werden, habe ich diesen Fehlernicht gesehen. Dafür gibt es in den Code-Beispielen so manchen anderen Typo.Bei Packt gibt es im Support-Bereich aber eine Druckfehlerliste, die leidernoch ein bisschen unvollständig ist.Apropos:Diese Rezension kommt nicht aus Deutschland, sondern aus Österreich!Ich bin jetzt seit 2003 Amazon-Kunde und halte von der deutschen Unsitte nichts,plötzlich geduzt zu werden. Ich werde daher in Hinkunft in jenen Produktbereichen, indenen Amazon das Duzen der Kunden einführt, meine Einkäufe deutlich reduzieren.
Trustpilot
2 days ago
1 month ago