Software Architecture with C++

$35.99

Taxes may apply at checkout.

Software Architecture with C++

Designing robust C++ systems with modern architectural practices

Computer programming / software engineering

Authors: Andrey Gavrilin, Adrian Ostrowski, Piotr Gaczkowski

Dinosaur mascot

Language: English

Published by: Packt Publishing Limited

Published on: 23rd December 2025

Format: LCP-protected ePub

Size: 738 pages

ISBN: 9781803235059


Key Features

Design modern C++ systems using features from C++11 through C++20 and beyond

Explore distributed system design with observability, scalability, and maintainability in mind

Manage and package C++ applications, and prepare them for deployment using CMake, Conan, and CI/CD

Book Description

Designing scalable and maintainable software with C++ requires more than language expertise—it demands strong architectural thinking. This practical guide equips you with the skills to design and build robust, distributed systems using modern C++.Starting with fundamental architectural principles and design philosophies, the book walks you through practical approaches to designing and deploying reliable systems. This edition contains significant updates across the book, including new chapters on observability, package management, and C++ modules to address real-world software challenges. You will explore software decomposition strategies, design and system patterns, fault tolerance, API management, and testability—all applied with C++.Additionally, the book covers modern CI/CD pipelines, cloud-native design, microservices, and modular development, helping developers navigate today''s fast-evolving software landscape. With updated examples and a renewed emphasis on maintainable and observable architectures, this edition equips C++ professionals to architect modern systems. By the end of this book, you will be able to design, build, test, and deploy well-architected solutions using modern C++ and proven architectural techniques.

What you will learn

Apply architectural fundamentals to design scalable C++ systems

Use modern C++ features to create maintainable and secure applications

Implement architectural and system design patterns

Design testable code and automate quality checks via CI/CD pipelines

Manage dependencies and build systems using CMake and Conan

Explore microservices, containers, and cloud-native practices in C++

Improve observability with logging, tracing, and monitoring tools

Build deployable C++ systems suited for modern development environments

Who this book is for

This book is intended for experienced C++ developers and software engineers aiming to expand their architectural knowledge, lead software projects, or build scalable systems. It assumes readers are comfortable with modern C++ (C++11 onwards) and familiar with basic design principles and patterns.

Show moreShow less