Software Architecture with C++: Designing robust C++ systems with modern architectural practices 2nd ed. Edition

Software Architecture with C++: Designing robust C++ systems with modern architectural practices 2nd ed. Edition book cover

Software Architecture with C++: Designing robust C++ systems with modern architectural practices 2nd ed. Edition

Author(s): Andrey Gavrilin (Author), Adrian Ostrowski (Author), Piotr Gaczkowski (Author)

  • Publisher: Packt Publishing
  • Publication Date: December 23, 2025
  • Edition: 2nd ed.
  • Language: English
  • Print length: 738 pages
  • ISBN-10: 1803243015
  • ISBN-13: 9781803243016

Book Description

Architect high-quality C++ applications using modern features and patterns, with expanded coverage and practical new examples throughout the book.

Free with your book: DRM-free PDF version + access to Packt's next-gen Reader*

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.

*Email sign-up and proof of purchase required

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.

Table of Contents

  1. Importance of Software Architecture and Principles of Great Design
  2. Architectural Styles
  3. Functional and Nonfunctional Requirements
  4. Architectural and System Design Patterns
  5. Leveraging C++ Language Features
  6. Design Patterns and C++ Idioms
  7. Building and Packaging
  8. Package Management
  9. The Future of C++ Code Reuse: Using Modules
  10. Writing Testable Code
  11. Continuous Integration and Continuous Deployment
  12. Security in Code and Deployment
  13. Performance
  14. Architecture of Distributed Systems
  15. Interservice Communication
  16. Containers
  17. Observability
  18. Cloud-Native Design

Editorial Reviews

About the Author

Andrey Gavrilin is a seasoned software engineer whose eagerness for computer games led him to explore C++, Pascal, and assembly language. He holds an MSc degree in engineering (industrial automation) and has worked across several domains, which allowed him to understand the importance of quality software architecture. His interests include system programming, embedded development, game programming, and electronics. An enthusiast of retro gaming and vintage computing, he enjoys studying how older technologies inform modern system design. These hobbies complement his professional work, providing creative inspiration and a fresh perspective on the IT evolution.

Adrian Ostrowski is a modern C++ enthusiast interested in the development of both the C++ language itself and the high-quality code written in it. A lifelong learner with over a decade of experience in the IT industry and in C++ specifically, he's always eager to share his knowledge. His past projects range from parallel computing, through fiber networking, to working on a commodity exchange's trading system. In his spare time, Adrian used to promote music bands together with Piotr and has learned how to fly a glider. He likes riding his bicycle, going to music events, and browsing memes.

Piotr Gaczkowski has more than 10 years of experience in programming and practicing DevOps and uses his skills to improve people's lives. He likes building simple solutions to human problems, organizing cultural events, and teaching fellow professionals. Piotr is keen on automating boring activities and using his experience to share knowledge by conducting courses and writing articles about personal growth and remote work. He has worked in the IT industry both in full-time positions and as a freelancer, but his true passion is music. When not making his skills useful at work, you can find him building communities. In his spare time, Adrian used to promote music bands together with Piotr and has learned how to fly a glider. Currently, he likes riding his bicycle, going to music events, and browsing memes.

View on Amazon

{"@context":"https://schema.org","@type":"Book","name":"Software Architecture with C++: Designing robust C++ systems with modern architectural practices 2nd ed. Edition","image":"https://m.media-amazon.com/images/I/41OYI3DJqQL._SX342_SY445_FMwebp_.jpg","author":{"@type":"Person","name":"Andrey Gavrilin (Author), Adrian Ostrowski (Author), Piotr Gaczkowski (Author)"},"publisher":{"@type":"Organization","name":"Packt Publishing"},"datePublished":"December 23, 2025","isbn":"9781803243016","numberOfPages":738,"inLanguage":"English","description":"Architect high-quality C++ applications using modern features and patterns, with expanded coverage and practical new examples throughout the book.Free with your book: DRM-free PDF version + access to Packt's next-gen Reader* Key FeaturesDesign modern C++ systems using features from C++11 through C++20 and beyondExplore distributed system design with observability, scalability, and maintainability in mindManage and package C++ applications, and prepare them for deployment using CMake, Conan, and CI/CDBook DescriptionDesigning 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.*Email sign-up and proof of purchase requiredWhat you will learnApply architectural fundamentals to design scalable C++ systemsUse modern C++ features to create maintainable and secure applicationsImplement architectural and system design patternsDesign testable code and automate quality checks via CI/CD pipelinesManage dependencies and build systems using CMake and ConanExplore microservices, containers, and cloud-native practices in C++Improve observability with logging, tracing, and monitoring toolsBuild deployable C++ systems suited for modern development environmentsWho this book is forThis 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.Table of ContentsImportance of Software Architecture and Principles of Great DesignArchitectural StylesFunctional and Nonfunctional RequirementsArchitectural and System Design PatternsLeveraging C++ Language FeaturesDesign Patterns and C++ IdiomsBuilding and PackagingPackage ManagementThe Future of C++ Code Reuse: Using ModulesWriting Testable CodeContinuous Integration and Continuous DeploymentSecurity in Code and DeploymentPerformanceArchitecture of Distributed SystemsInterservice CommunicationContainersObservabilityCloud-Native Design","bookEdition":"2nd ed.","url":"https://www.amazon.com/dp/1803243015/","bookFormat":"http://schema.org/EBook","additionalType":"http://schema.org/PDF","fileSize":"15 MB","accessibilityFeature":["login required","member access only"],"accessibilitySummary":"PDF version available to authenticated members only. File size: 15 MB."}

代发服务PDF电子书30立即求助
未经允许不得转载:电子书百科大全 » Software Architecture with C++: Designing robust C++ systems with modern architectural practices 2nd ed. Edition

评论 抢沙发

评论前必须登录!

立即登录   注册