Software Architecture with C++: Design modern systems using effective architecture concepts, design patterns, and techniques with C++20 (Paperback)

Ostrowski, Adrian, Gaczkowski, Piotr



Apply business requirements to IT infrastructure and deliver a high-quality product by understanding architectures such as microservices, DevOps, and cloud-native using modern C++ standards and features


Key Features:

  • Design scalable large-scale applications with the C++ programming language
  • Architect software solutions in a cloud-based environment with continuous integration and continuous delivery (CI/CD)
  • Achieve architectural goals by leveraging design patterns, language features, and useful tools


Book Description:

Software architecture refers to the high-level design of complex applications. It is evolving just like the languages we use. Modern C++ allows developers to write high-performance apps in a high-level language without sacrificing readability and maintainability. If you're working with modern C++, this practical guide will help you put your knowledge to work and design distributed, large-scale apps. You'll start by getting up to speed with architectural concepts, including established patterns and rising trends. The book will then explain what software architecture is and help you explore its components. Next, you'll discover the design concepts involved in application architecture and the patterns in software development, before going on to learn how to build, package, integrate, and deploy your components. In the concluding chapters, you'll explore different architectural qualities, such as maintainability, reusability, testability, performance, scalability, and security. Finally, you will get an overview of distributed systems, such as service-oriented architecture, microservices, and cloud-native, and understand how to apply them in application development.


By the end of this book, you'll be able to build distributed services using modern C++ and associated tools to deliver solutions as per your clients' requirements.


What You Will Learn:

  • Understand how to apply the principles of software architecture
  • Apply design patterns and best practices to meet your architectural goals
  • Write elegant, safe, and performant code using the latest C++ features
  • Build applications that are easy to maintain and deploy
  • Explore the different architectural approaches and learn to apply them as per your requirement
  • Simplify development and operations using application containers
  • Discover various techniques to solve common problems in software design and development


Who this book is for:

This software architecture C++ programming book is for experienced C++ developers who are looking to become software architects or are interested in developing enterprise-grade applications.



- 使用C++程式語言設計可擴展的大型應用程式
- 在基於雲端的環境中以持續整合和持續交付(CI/CD)架構軟體解決方案
- 利用設計模式、語言特性和有用工具實現架構目標



- 理解軟體架構原則的應用
- 應用設計模式和最佳實踐以實現架構目標
- 使用最新的C++功能編寫優雅、安全和高效的程式碼
- 構建易於維護和部署的應用程式
- 探索不同的架構方法,並根據需求應用它們
- 使用應用程式容器簡化開發和操作
- 探索解決軟體設計和開發中常見問題的各種技術