REVIEW - Software Architecture with C++


Title:

Software Architecture with C++

Author:

Adrian Ostrowksi, Piotr Gaczkowski

ISBN:

9781838554589

Publisher:

Packt (2021)

Pages:

503

Reviewer:

Paul Floyd

Reviewed:

September 2025

Rating:

★☆☆☆☆


Not recommended.

This book isn’t badly written, it isn’t full of glaring errors. However, for me, there is a terrible mistake on the cover. The title is Software Architecture with C++. That is a gross misrepresentation of what this book contains. The title should have been something like C++ Best Practices using Microservices. I have almost no interest in microservices and I would never have bought the book if I’d seen such a title. There is a longer subtitle: Design modern systems using effective architecture concepts, design patterns, and techniques with C++ 20. Still no mention of microservices. My guess is that the authors have worked exclusively with microservices and can’t see the wood for the trees. For them, architecture IS microservices. It isn’t.

Section one covers ‘Concepts and Components’. It starts off well enough, but then wanders into an explanation of SOLID and DRY. I’d say that’s more programming principles than architecture. On the subject of styles: “Transitioning to microservices – Most companies have some kind of monolithic code that that they don’t want to immediately rewrite using microservices”. I’ve worked for three companies in the past 20-odd years and, in that sample, 100% are never going to rewrite their monolithic code using microservices. At the most they will use some peripheral code to allow running the monolithic products on cloud servers. I’m not going to hold my breath for BLAS and LAPACK microservices that are faster than the conventional library versions. There’s a reasonably good chapter on ‘Requirements’ but that’s not specific to architecture.

Section 2 on ‘Design and Development’ is decent, starting with a microservices-ish view of design and then a few chapters on general C++ practice. Stuff like Design Patterns and CMake. Section 3 continues in the same vein covering things like testing, CI/CD and performance.

I almost gave up reading Section 4 on ‘Cloud-Native Design Principles’. It just seemed like a mostly brief catalogue of microservices. Some only get a single bullet list. None of them were of any interest to me before and reading a few words about them did not pique my curiosity.

If you have a strong interest in microservices then ignore this review and perhaps consider reading this book. If, on the other hand, like me you have approximately zero interest in microservices then give this book a wide berth.

Website: https://www.packtpub.com/en-us/product/software-architecture-with-c-9781838554590

Code site: https://github.com/PacktPublishing/Software-Architecture-with-Cpp






Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.