0
نام کتاب
Domain-Driven Refactoring

A hands-on DDD guide to transforming monoliths into modular systems and microservices

Alessandro Colla

Print Length324 Pages
PublisherPackt
Edition1
LanguageEnglish
Year2025
ISBN9781835889107
1K
A7036
انتخاب نوع چاپ:
جلد سخت
1,168,000ت
0
جلد نرم
1,038,000ت
0
طلق پاپکو و فنر
1,048,000ت
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:رنگی با کادر / تصویر
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#Domain_Driven_Refactoring

#DDD

#Microservices

#Monoliths

#CQRS

توضیحات

🚀 با به‌کارگیری Practiceهای Domain-Driven Design یا DDD، سیستم خودت رو به یک اپلیکیشن مدرن، مقاوم و قابل‌توسعه تبدیل کن و هم‌زمان روی تکنیک‌های Refactoring مسلط شو که در پروژه‌های واقعی نتیجه میدن.


ویژگی‌های کلیدی

🛠️ یاد میگیری سیستم خودت رو مدرن‌سازی کنی تا توسعه و نگهداری اون تا حد ممکن روان و بدون اصطکاک باشه

🧠 با مثال‌های واقعی، تجربه عملی در استفاده از Strategic Patternها و Tactical Patternهای DDD به دست میاری

🏗️ با راهنمایی‌های کاربردی، معماری سیستم رو به‌شکل مرحله‌ای و امن Refactor میکنی


📘 توضیح کتاب

💻 هرچقدر سیستم‌های نرم‌افزاری بزرگ‌تر و پیچیده‌تر میشن، تسلط روی Domain-Driven Design میتونه نگاهت به طراحی و توسعه سیستم‌های پیچیده رو کاملا تغییر بده. این کتاب با مجموعه‌ای از نکته‌های قابل‌اجرا و مثال‌های عملی، یک راهنمای کاربردی برای پیاده‌سازی اصول DDD در معماری‌های مدرن ارائه میده.

👨‍💻 الساندرو کولا، متخصص eCommerce و DDD با ۳۰ سال تجربه، و آلبرتو آچربیس، دولوپر Backend، تجربه خودشون رو به کار گرفتن تا نشون بدن چطور یک Monolith رو به ساختاری ماژولار تبدیل کنی؛ چه هدفت حرکت به سمت Microservices باشه و چه بخوای یک Monolith قابل‌نگهداری‌تر و ساختاریافته‌تر بسازی.

🔄 نتیجه این Refactoring، سیستمیه که راحت‌تر با تغییر نیازهای کسب‌وکار و Non-Functional Requirementها تطبیق پیدا میکنه.

🧠 در کتاب با الگوهای مهم DDD مثل Bounded Context و Ubiquitous Language آشنا میشی و یاد میگیری چطور ارتباط بین متخصص‌های فنی و Domain Expertها رو بهتر کنی.

🧩 فصل‌های کتاب تکنیک‌های مدل‌سازی برای کنترل Complexity و افزایش انعطاف‌پذیری رو بررسی میکنن و بعد وارد موضوع‌های مربوط به Microservices میشن؛ از ارتباط بین سرویس‌ها و مدیریت Transaction گرفته تا استراتژی‌های مدیریت داده.

🎯 تا پایان کتاب، میتونی یک Monolith رو به بخش‌های منطقی‌تر تجزیه کنی، معماری اون رو برای تغییرپذیری بیشتر Refactor کنی و در تمام این فرایند، Business Logic رو در مرکز طراحی و توسعه نرم‌افزار نگه داری.


🎯 چیزهایی که یاد میگیری

🧱 مرزهای کامپوننت‌های مختلف سیستم رو شناسایی میکنی

🗺️ Strategic Patternهایی مثل Bounded Context و Ubiquitous Language رو به کار میگیری

⚙️ Tactical Patternهای لازم برای ساخت Aggregateها و Entityها رو یاد میگیری

♻️ مهم‌ترین Refactoring Patternها رو میشناسی و نحوه پیاده‌سازی اون‌ها رو یاد میگیری

🔍 نقاط درد و ضعف در یک Codebase پیچیده رو پیدا و برطرف میکنی

📨 معماری‌های Event-Driven رو برای Decouple کردن کامپوننت‌ها بررسی میکنی

🧪 تست‌هایی مینویسی که سلامت و یکپارچگی معماری سیستم رو اعتبارسنجی و حفظ میکنن


👤 این کتاب برای چه کسانیه؟

💻 این کتاب برای Software Developerها، Software Architectها و Team Leadهایی مناسبه که میخوان اپلیکیشن‌های Legacy رو با استفاده از اصول Domain-Driven Design مدرن‌سازی کنن.

🧠 اگر Backend Developer یا Software Engineer هستی و میخوای درک عمیق‌تری از DDD پیدا کنی، این کتاب کمکت میکنه سیستم‌های مقاوم‌تر و قابل‌نگهداری‌تری طراحی کنی.

🏗️ Team Leadها و Architectها هم میتونن از کتاب برای هدایت تیم‌ها در مسیر مهاجرت از Monolith به Microservices استفاده کنن.

📌 آشنایی با C# ضروریه، چون مثال‌های عملی کتاب با این زبان نوشته شده‌اند.


📖 فهرست مطالب

پارت ۱. چرا برای مدیریت Complexity از Domain-Driven Design استفاده کنیم؟

فصل ۱. تکامل Domain-Driven Design

فصل ۲. درک Complexity. فضای مسئله و فضای راه‌حل

فصل ۳. Strategic Patternها

فصل ۴. Tactical Patternها


پارت ۲. Refactoring سیستم‌های Legacy

فصل ۵. معرفی اصول Refactoring

فصل ۶. گذار از آشفتگی

فصل ۷. یکپارچه‌سازی Eventها با CQRS

فصل ۸. Refactoring دیتابیس

فصل ۹. الگوهای DDD برای Continuous Integration و Continuous Refactoring


پارت ۳. حرکت از Monolith به Microservices

فصل ۱۰. چه زمانی و چرا باید به معماری Microservices مهاجرت کنیم

فصل ۱۱. مدیریت Eventها و تکامل اون‌ها

فصل ۱۲. Orchestrate کردن Complexity. رویکردهای پیشرفته برای فرایندهای کسب‌وکار


📝 نقد و بررسی

💭 «این کتاب تو رو از به‌کارگیری Strategic Patternها تا Tactical Patternها همراهی میکنه تا بتونی DDD رو در Refactoring سیستم خودت استفاده کنی. اما کتاب به همین‌جا محدود نمیشه و وارد موضوع‌هایی مثل معماری Event-Driven، Refactoring دیتاستورها، مدیریت Complexity و استفاده از تست برای حفظ سیستم Refactorشده هم میشه.

Domain-Driven Refactoring کتابیه که بهتره قبل از شروع Refactoring سیستم خودت بخونیش.»

جکی رید، نویسنده Communication Patterns، Chief Architect در The Ministry of Software Design و هم‌برگزارکننده DDD London


👤 درباره نویسندگان

👨‍💻 الساندرو کولا متخصص eCommerce، برنامه‌نویس C# و متخصص Domain-Driven Design است. او طی حدود ۳۰ سال فعالیت در IT، سیستم‌های مدیریتی و ERPهای مختلفی رو از صفر برای حوزه‌های گوناگون توسعه داده و به تیم‌ها در مسیر یادگیری و بهبود کمک کرده.

📚 او هم‌نویسنده کتاب Cronache di Domain-Driven Design و یکی از هم‌بنیان‌گذارهای کامیونیتی‌های DDD Open و Polenta and Deploy است.


👨‍💻 آلبرتو آچربیس خودش رو یک دانشجوی همیشگی میدونه، چون معتقده موضوع‌های این حوزه هیچ‌وقت تموم نمیشن. او همیشه خودش رو Backend Developer معرفی کرده، اما از بررسی بخش‌های دیگه کد هم دوری نمیکنه.

🧠 آلبرتو معتقده «نوشتن» نرم‌افزار قبل از هر چیز یعنی حل مسئله‌های کسب‌وکار و ایجاد ارزش برای مشتری، و الگوهای DDD رو ابزار بسیار موثری برای رسیدن به این هدف میدونه.

🤝 او هم یکی از هم‌بنیان‌گذارهای کامیونیتی‌های DDD Open و Polenta and Deploy است.


Apply domain-driven design practices effortlessly to evolve your system into a modern, robust application while mastering refactoring techniques that drive real-world results


Key Features

  • Learn how to modernize your system to make it as frictionless as possible
  • Gain hands-on experience in applying strategic and tactical patterns through real-world examples
  • Transform your architecture with practical guidance for seamless refactoring


Book Description

As software development continues to grow, mastering domain-driven design (DDD) will help transform your approach to complex systems. Filled with actionable insights and practical examples, this book is your essential guide to implementing DDD principles, covering its key concepts and practical applications in modern architecture.


Alessandro, an eCommerce specialist and DDD expert with 30 years of experience, and Alberto, a dedicated backend developer, tap into their extensive expertise to help you refactor your monolith into a modular structure, whether it be evolving into microservices or enhancing a maintainable monolith, resulting in a system that adapts to changing business needs and non-functional requirements.

You’ll explore vital DDD patterns like strategic design with bounded contexts and ubiquitous language, improving communication between technical and domain experts. The chapters take you through modeling techniques to manage complexity and increase flexibility, while also addressing microservices integration, including inter-service communication, transaction management, and data strategies.

By the end of this book, you’ll be able to decompose a monolith and refine its architecture for adaptability, all while ensuring business logic remains central to your software design and development.


What you will learn

  • Find out how to recognize the boundaries of your system's components
  • Apply strategic patterns such as bounded contexts and ubiquitous language
  • Master tactical patterns for building aggregates and entities
  • Discover principal refactoring patterns and learn how to implement them
  • Identify pain points in a complex code base and address them
  • Explore event-driven architectures for component decoupling
  • Get skilled at writing tests that validate and maintain architectural integrity


Who this book is for

This book is ideal for software developers, architects, and team leads looking to modernize legacy applications using domain-driven design principles. If you're a backend developer or software engineer looking to enhance your understanding of DDD, this guide will elevate your skills in designing robust systems. Team leads and architects will find valuable insights for guiding their teams through the transition from monoliths to microservices. Familiarity with C# is a must, as the book provides practical examples in this language.


Table of Contents

Part I: Why Use Domain-Driven Design to Tackle Complexity?

Chapter 1: Evolution of Domain-Driven Design

Chapter 2: Understanding Complexity: Problem and Solution Space

Chapter 3: Strategic Patterns

Chapter 4: Tactical Patterns

Part II: Refactoring Legacy Systems

Chapter 5: Introducing Refactoring Principles

Chapter 6: Transitioning from Chaos

Chapter 7: Integrating Events with CQRS

Chapter 8: Refactoring the Database

Chapter 9: DDD Patterns for Continuous Integration and Continuous Refactoring

Part III: Moving from Monolith to Microservices

Chapter 10: When and Why You Should Transition to a Microservices Architecture

Chapter 11: Dealing with Events and Their Evolution

Chapter 12: Orchestrating Complexity: Advanced Approaches to Business

Processes


Review

“This book takes you from applying strategic patterns through to tactical patterns to enable you to use DDD in your system refactoring. But it goes further, into concepts such as event-driven architectures, refactoring your data stores, handling complexity, and using testing to sustain your hard-won refactored system. Domain-Driven Refactoring is a book you should consume before refactoring your system.”

Jacqui Read, author of Communication Patterns, Chief Architect at The Ministry of Software Design, Co-Organiser of DDD London


About the Author

Alessandro Colla is an eCommerce specialist a C# programmer and a Domain Driven Design expert. Over the course of now thirty years in IT, he has developed software for management systems, and ERPs, from scratch for a wide variety of fields and helped teams in their learning and improvement. He is also the co-author of "Cronache di Domain-Driven Design" and co-founder of "DDD Open" and "Polenta and Deploy".


Alberto Acerbis is basically an eternal student because the subject matter is endless. He has always defined himself as a backend developer, but he does not disdain poking around on the other side of the code either. He likes to think that 'writing' software is mainly about solving business problems and providing value to the customer, and in this, he finds DDD patterns a great help. I am a co-founder of the DDD Open and Polenta and Deploy communities.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
More Books
1,024
Handbook of Image Processing and Computer Vision: Volume 2
1,171,000 تومان
تجارت
1,097
Demand Forecasting Best Practices
645,000 تومان
More Books
1,757
Crystal Programming
907,000 تومان
More Books
1,340
Terraform: Up and Running
1,104,000 تومان
More Books
792
Operating Systems Design and Implementation
2,725,000 تومان
More Books
1,182
Mastering Adobe Photoshop Elements 2023
1,429,000 تومان
More Books
899
Usability Testing Essentials
1,325,000 تومان
More Books
1,209
Real-World SRE
880,000 تومان
More Books
618
Developer Career Masterplan
819,000 تومان
More Books
1,371
The Professional Scrum Master (PSM I) Guide
561,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما