Software Architecture with C++
Designing robust C++ systems with modern architectural practicesAndrey Gavrilin, Adrian Ostrowski, Piotr Gaczkowski
- ناشرPackt
- سال انتشار2025
- ویرایش2
- زبانEnglish
- تعداد صفحات739
- شابک9781803243016
1,728,000 تومان – 4,485,000 تومانمحدوده قیمت: 1,728,000 تومان تا 4,485,000 تومان
تحویل اکسپرس
حمل رایگان سفارشات بالای 1 میلیون تومان
پرداخت امن
امکان پرداخت انلاین یا پرداخت حضروی درب منزل
ضمانت اصالت کالا
امکان پرداخت انلاین یا پرداخت حضروی درب منزل
7 روز گارانتی بازگشت وجه
امکان پرداخت انلاین یا پرداخت حضروی درب منزل
🏗️ معماری اپلیکیشنهای C++ باکیفیت با استفاده از قابلیتها و الگوهای مدرن
با پوشش گستردهتر و مثالهای عملی جدید در سراسر کتاب، یاد میگیری چطور سیستمهای C++ حرفهای و قابل اتکا طراحی کنی.
✨ ویژگیهای کلیدی
• طراحی سیستمهای مدرن C++ با استفاده از قابلیتهای C++11 تا C++20 و فراتر از آن
• بررسی طراحی سیستمهای توزیعشده با تمرکز بر observability، مقیاسپذیری و نگهداریپذیری
• مدیریت، بستهبندی و آمادهسازی اپلیکیشنهای C++ برای استقرار با CMake، Conan و CI/CD
📘 توضیح کتاب
- طراحی نرمافزار مقیاسپذیر و قابل نگهداری با C++ فقط به بلد بودن زبان محدود نمیشه؛ بلکه نیازمند تفکر معماری قویه. این راهنمای عملی بهت کمک میکنه مهارتهای لازم برای طراحی و ساخت سیستمهای توزیعشده، پایدار و حرفهای رو با استفاده از C++ مدرن بهدست بیاری.
- کتاب از اصول پایه معماری و فلسفههای طراحی شروع میکنه و بعد، رویکردهای عملی برای طراحی و استقرار سیستمهای قابل اعتماد رو قدمبهقدم جلو میبره. این ویرایش شامل بهروزرسانیهای مهم در کل کتابه، از جمله فصلهای جدید درباره observability، مدیریت پکیج و ماژولهای C++ که مستقیما به چالشهای واقعی توسعه نرمافزار پاسخ میدن.
- در طول کتاب، با استراتژیهای تجزیه نرمافزار، الگوهای طراحی و معماری سیستم، تحمل خطا، مدیریت API و تستپذیری آشنا میشی؛ همه اینها در بستر C++ پیادهسازی میشن.
- همچنین مباحثی مثل CI/CD مدرن، طراحی cloud-native، میکروسرویسها و توسعه ماژولار پوشش داده میشن تا بتونی با سرعت تغییرات دنیای امروز همگام بمونی.
- در پایان کتاب، توانایی طراحی، پیادهسازی، تست و استقرار سیستمهایی با معماری درست و قابل دفاع رو خواهی داشت؛ سیستمهایی که با C++ مدرن و تکنیکهای اثباتشده معماری ساخته شدن.
🎯 آنچه یاد خواهید گرفت
• بهکارگیری اصول معماری برای طراحی سیستمهای C++ مقیاسپذیر
• استفاده از قابلیتهای مدرن C++ برای ساخت اپلیکیشنهای امن و قابل نگهداری
• پیادهسازی الگوهای طراحی معماری و سیستم
• طراحی کد تستپذیر و خودکارسازی کنترل کیفیت با پایپلاینهای CI/CD
• مدیریت وابستگیها و سیستم build با CMake و Conan
• بررسی میکروسرویسها، کانتینرها و شیوههای cloud-native در C++
• بهبود observability با ابزارهای logging، tracing و monitoring
• ساخت سیستمهای C++ قابل استقرار در محیطهای توسعه مدرن
👥 این کتاب مناسب چه کسانی است
این کتاب برای توسعهدهندگان باتجربه C++ و مهندسان نرمافزار نوشته شده که میخوان دانش معماری خودشون رو گسترش بدن، رهبری پروژههای نرمافزاری رو بر عهده بگیرن یا سیستمهای مقیاسپذیر بسازن.
فرض بر اینه که خواننده با C++ مدرن (از C++11 به بعد) آشناست و درک پایهای از اصول و الگوهای طراحی نرمافزار داره.
📑 فهرست مطالب
- اهمیت معماری نرمافزار و اصول طراحی خوب
- سبکهای معماری
- نیازمندیهای کارکردی و غیرکارکردی
- الگوهای طراحی معماری و سیستم
- بهرهگیری از قابلیتهای زبان C++
- الگوهای طراحی و idiomهای C++
- ساخت و بستهبندی
- مدیریت پکیج
- آینده استفاده مجدد از کد C++ با ماژولها
- نوشتن کد تستپذیر
- یکپارچهسازی و استقرار مداوم (CI/CD)
- امنیت در کد و فرآیند استقرار
- کارایی
- معماری سیستمهای توزیعشده
- ارتباط بین سرویسها
- کانتینرها
- Observability
- طراحی Cloud-Native
👤 درباره نویسندگان
آندری گاوریلین مهندس نرمافزار باتجربهای است که علاقهاش به بازیهای کامپیوتری او را به دنیای C++، پاسکال و اسمبلی کشاند. او دارای مدرک کارشناسی ارشد مهندسی در حوزه اتوماسیون صنعتی است و در حوزههای مختلفی فعالیت کرده که همین موضوع، اهمیت معماری نرمافزار باکیفیت را برایش روشن کرده. علایق او شامل برنامهنویسی سیستمی، توسعه امبدد، بازیسازی و الکترونیک است. علاقهمندی به بازیهای رترو و سیستمهای قدیمی، دید تازهای به طراحی سیستمهای مدرن به او میده.
آدریان استروفسکی از علاقهمندان جدی C++ مدرن است و هم به تکامل خود زبان و هم به نوشتن کد باکیفیت در آن اهمیت میده. او بیش از یک دهه تجربه در صنعت IT و C++ داره و همیشه مشتاق یادگیری و انتقال دانستههاشه. پروژههای قبلی او شامل محاسبات موازی، شبکههای فیبر نوری و سیستمهای معاملاتی بورس کالا بوده. در کنار کار فنی، به موسیقی، دوچرخهسواری و رویدادهای فرهنگی علاقهمنده.
پیوتر گاچکوفسکی بیش از ۱۰ سال تجربه برنامهنویسی و DevOps داره و از مهارتهاش برای سادهتر کردن زندگی دیگران استفاده میکنه. او به ساخت راهکارهای ساده برای مسائل انسانی، برگزاری رویدادهای فرهنگی و آموزش حرفهایها علاقهمنده. تمرکز ویژهای روی خودکارسازی کارهای تکراری و اشتراک تجربه از طریق دورهها و مقالهها داره. موسیقی علاقه اصلی اوست و در کنار فعالیت حرفهای، به ساخت و رشد کامیونیتیها هم توجه زیادی داره.
Architect high-quality C++ applications using modern features and patterns, with expanded coverage and practical new examples throughout the book.
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
- Importance of Software Architecture and Principles of Great Design
- Architectural Styles
- Functional and Nonfunctional Requirements
- Architectural and System Design Patterns
- Leveraging C++ Language Features
- Design Patterns and C++ Idioms
- Building and Packaging
- Package Management
- The Future of C++ Code Reuse: Using Modules
- Writing Testable Code
- Continuous Integration and Continuous Deployment
- Security in Code and Deployment
- Performance
- Architecture of Distributed Systems
- Interservice Communication
- Containers
- Observability
- Cloud-Native Design
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.
| ناشر | Packt |
|---|---|
| ویرایش | 2 |
| زبان | English |
| سال انتشار | 2025 |
| شابک | 9781803243016 |
| تعداد صفحات | 739 |
| قطع | B5 |
| کیفیت | اورجینال انتشارات |
| نوع چاپ | رنگی, سیاه و سفید |
| نوع جلد | جلد سخت, شومیز, طلقی |
1,728,000 تومان – 4,485,000 تومانمحدوده قیمت: 1,728,000 تومان تا 4,485,000 تومان
محصولات مشابه

نقد و بررسیها
هنوز بررسیای ثبت نشده است.