0
نام کتاب
Software Architecture with C++

Designing robust C++ systems with modern architectural practices

Andrey Gavrilin, Adrian Ostrowski, Piotr Gaczkowski

Paperback739 Pages
PublisherPackt
Edition2
LanguageEnglish
Year2025
ISBN9781803243016
1K
A1512
انتخاب نوع چاپ:
جلد سخت
1,137,000ت
0
جلد نرم
1,227,000ت(2 جلدی)
0
طلق پاپکو و فنر
1,247,000ت(2 جلدی)
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#Software_Architecture

#C++

#design_patterns

#software_development

#software_design

#DevOps

#cloud-native

توضیحات

🏗️ معماری اپلیکیشن‌های 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 به بعد) آشناست و درک پایه‌ای از اصول و الگوهای طراحی نرم‌افزار داره.


📑 فهرست مطالب

  1. اهمیت معماری نرم‌افزار و اصول طراحی خوب
  2. سبک‌های معماری
  3. نیازمندی‌های کارکردی و غیرکارکردی
  4. الگوهای طراحی معماری و سیستم
  5. بهره‌گیری از قابلیت‌های زبان C++
  6. الگوهای طراحی و idiomهای C++
  7. ساخت و بسته‌بندی
  8. مدیریت پکیج
  9. آینده استفاده مجدد از کد C++ با ماژول‌ها
  10. نوشتن کد تست‌پذیر
  11. یکپارچه‌سازی و استقرار مداوم (CI/CD)
  12. امنیت در کد و فرآیند استقرار
  13. کارایی
  14. معماری سیستم‌های توزیع‌شده
  15. ارتباط بین سرویس‌ها
  16. کانتینرها
  17. Observability
  18. طراحی 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

  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


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.

دیدگاه خود را بنویسید
نظرات کاربران (1 دیدگاه)
حامد عشورنژاد
2023-03-01

حتما و حتماً قبل از اینکه این کتاب رو بخونید، پیشنهاد میکنم درباره الگوریتم ها و انواع آنها قشنگ مطالعه کنید.

کتاب های مشابه
Software Engineering
1,069
Righting Software
740,000 تومان
Software Architecture
3,237
Fundamentals of Software Architecture
996,000 تومان
Software Architecture
1,016
Architectural Patterns
732,000 تومان
Software Architecture
1,075
Design It!
604,000 تومان
Software Architecture
1,017
12 More Essential Skills for Software Architects
572,000 تومان
Software Architecture
799
The Art of Scalability
1,081,000 تومان
Software Architecture
1,256
Head First Software Architecture
1,045,000 تومان
Software Architecture
1,425
Software Architecture with C# 12 and .NET 8
1,249,000 تومان
Software Architecture
1,107
Software Architecture for Busy Developers
380,000 تومان
Software Architecture
971
SAP Enterprise Architecture
438,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©