C++ Software Design: Design Principles and Patterns for High-Quality Software
R**N
Mastering Modern C++: "C++ Software Design" Unleashes the Power of Robust and Efficient Programming
"C++ Software Design" by Klaus Iglberger, published by the prestigious O'Reilly Media, is a groundbreaking resource for software developers looking to elevate their C++ programming skills. With a focus on contemporary techniques and best practices, this book guides readers through the process of designing, implementing, and maintaining robust, efficient, and maintainable C++ applications.Klaus Iglberger, an accomplished expert in the field, offers a masterful blend of in-depth knowledge and practical experience, making this book an essential read for both beginners and seasoned developers. His writing is precise, engaging, and insightful, allowing readers to grasp complex concepts effortlessly. With numerous real-world examples and hands-on exercises, the book fosters a deep understanding of modern C++ principles and practices."C++ Software Design" covers a wide array of topics that cater to various aspects of software development. Readers will gain a solid foundation in C++ fundamentals, learn advanced language features, and explore libraries and tools to enhance productivity. The book delves into vital topics such as object-oriented programming, design patterns, performance optimization, and error handling, providing the necessary tools to build high-quality software.One of the standout features of this book is its focus on modern C++ standards, such as C++11, C++14, C++17, and C++20. These updates provide numerous enhancements to the language, enabling developers to create more efficient, maintainable, and powerful applications. Iglberger's thorough explanation of these modern features makes it easy for readers to adopt and implement them in their own projects.In conclusion, "C++ Software Design" by Klaus Iglberger is a must-read for anyone looking to excel in C++ programming. This comprehensive guide, with its clear writing, real-world examples, and extensive coverage of modern C++ standards, empowers developers to create exceptional software. If you're aiming to stay current with industry trends and deliver high-quality C++ applications, don't miss this invaluable resource!
K**E
Outstanding book on C++ design patterns
This is a great book with really clear explanations of the major design patterns. It updates GoF and is much easier to understand. Thorough treatment of SOLID, value-based semantics, definition of design patterns, and performance considerations. There are really nice little examples working through the patterns. He also explains the problem of misuse of patterns, particularly since many patterns are quite similar in the implementations and it can be easy to confuse them. Well edited with few typos.
A**Y
Excellent high-level advice on designing software with C++
C++ Software Design is about, well, software design. This is as opposed to a lot of nitty gritty details about C++ syntax. The book really is about design, not C++ features (of course features play a role, you have to know C++). There are definitely some complex topics in the book, but in my opinion Iglberger does a good job of making them clear.Primary concepts are (there are more in the form of Guidelines):Understanding the importance of software design.Design for change.Separate interfaces to avoid artificial coupling (the Interface Segregation Principle, see the link above).Design for Testability.Design for extension (the Open Closed Principle, see the link above).Iglberger offers great high-level advice:Separate concernsPrefer composition to inheritancePrefer a non-intrusive designPrefer value semantics over reference semanticsThe book includes great discussions about how to use the classic Gang of Four Design Patterns, both the "old-fashioned" way with virtual hierarchies, and the "modern C++" way using value semantics.The book is friendly, conversational, and very readable for something about such a complex subject.Highly recommend.
K**R
Excellent in-Depth Design Coverage for C++
Having taken a class with Klaus in 2019, I was excited to get my hands on his book. I find Klaus to be a first-rate teacher, who has deep knowledge and can convey it well. Taking his class (which I recommend) was great, but I needed more time. This book gives me just that. His technique for teaching comes through in his writing. The book allows me to go over pieces at my pace and when necessary (for me), to review.I appreciate that design is complicated, and the book gives details about when and why you might use a particular pattern. When designing good software, a lot of your decisions are very dependent on what you’re designing and how you want to implement. Those nuances come through as each pattern is explained in detail.Finally, the book uses modern C++ standards in its examples, including C++ 20; while also including previous standards as well. I know GoF was the standard in design patterns, but for me this worked well as it is specific to C++.
C**J
Content is great.
The content of the book is great overall, however it could have been edited down by 20-30%. Many of the footnotes are not useful (most an attempt at humor), there is a lot of repetition in regards to stating what will be talked about before a section then restating it again at the end of a section. The writing style is also quite clunky as the author keeps trying to form an imaginary dialogue with the reader. I suppose I prefer the more classical, direct writing styles.Apart from the minor nitpicking, the content of the book is still great, but could have easily fit a couple more design patterns that the author wanted if the book was edited a bit better.
J**L
A MUST if you’re a C++ developer in 2022
If you’re a C++ developer in 2022, this is THE reference you need to share with your team. First release on 2022-09-21. Just wow.I find Iglberger’s approach beautifully rigorous ! Type erasure and free functions revolutionized my way of breaking dependencies.Reading the book is very pleasant, it’s like hearing him lecturing one of these great presentations he does. He has a way of ordering his arguments in a really well organized top-down manner.
T**S
Great book on design patterns
Great book on design patterns and modern C++ programming principles. Must have on the self of a C++ developer.
A**O
Molto più che un libro per programmatori C++
Ottima trattazione dei design pattern in ambito C++. Scritto a diversi livelli di astrazione, dove molte delle considerazioni possono essere riportate anche su codebase con linguaggi differenti.Non aggiunge molto di nuovo sui vari pattern, però la trattazione è tra le più precise che si possono trovare. C'è sempre una forte discussione su quale contesto sia il migliore in ogni pattern e vengono sempre discussi i possibili contro di certe scelte di design.Ho apprezzato tanto il formalismo usato nei vari schemi delle diverse architetture presentate, molto efficace dal mio punto di vista.Lato C++ anche ci sono parecchi pattern di implementazione interessanti, che aggiungono parecchio valore al libro. Molto interessante anche come usa le ultime feature del linguaggio per ridurre le varie dipendenze dei pattern GoF classici.Quindi mi sento di consigliarlo fortemente, anche se conoscete la maggioranza dei pattern presenti nel libro, visto che molti punti di vista portati dall'autore sono veramente interessanti.
N**Y
A nice walk through modern C++
An idea of how to design C++ programs using the newer features.
M**R
The Best Reference on Software Design from a C++ Perspective
If you've ever wondered how to apply best practices to software design from your dusty 20-year-old books to modern C++ and got lost in the weeds. Klaus will bring the machete.Can't recommend this book highly enough.
Trustpilot
1 day ago
1 week ago