booktheque

Software Architecture with C++

Adrian Ostrowski, Piotr Gaczkowski, Andrey Gavrilin · 2025

Where to buy

Check today’s price on Amazon. We do not show prices because they change daily.

View on Amazon

Affiliate link. As an Amazon Associate we earn from qualifying purchases.

About the book

This book is a comprehensive guide for intermediate to advanced C++ developers and software engineers who want to transition from writing code to designing and architecting large-scale, robust, and maintainable software systems. The second edition is a continuation of the successful book of Piotr Gaczkowski and Adrian Ostrowski, which has become so popular that it is often included in lists of recommended books on C++. Thus, the first edition was translated into Polish and Chinese. This book covers both theoretical aspects of software architecture and practical topics related to the features of C++, design patterns and C++ idioms, building and packaging programs written in C++ using CMake, package managers such as Conan and CPM.cmake, C++ modules and modularity in general. It also covers aspects of testing, benchmarking, continuous integration and continuous deployment, code security, performance and profiling, sandboxing (WebAssembly with Cheerp and a little about speeding up bytecode interpreters such as CPython), etc. https://cheerp.io/ How C++ engineers build web applications. "Cheerp is an enterprise-grade compiler toolchain that can compile C/C++ into efficient WebAssembly and JavaScript." Lastly, this book examines the architecture of distributed systems, interservice communication and network protocols (e.g., Restful, GraphQL, gRPC, Thrift, ZeroMQ, MQTT, RabbitMQ, Kafka), including IoT, Linux containers, container images and container security. It describes the principles of containerization of Linux applications, Docker and Kubernetes, as well as, of course, microservices and telemetry tools such as OpenTelemetry to observe the services in real-time. That includes documentation, OpenAPI and SwaggerUI. The final chapter details how to implement OpenTelemetry logs, traces, and metrics in a C++ program, which is also used in IoT. Much of this is supplemented with practical examples. Moreover, there are instructions for Linux, macOS and Windows.

Book details

Year
2025
Language
English
Publisher
Packt Publishing, Limited
Editions
4
Pages
738
ISBN
9781803243016

Data source: Wikidata

More by Adrian Ostrowski