آموزش طراحی دامنه-محور (DDD): پیاده‌سازی عملی CQRS - آخرین آپدیت

دانلود Domain-driven Design: CQRS in Practice

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: اپلیکیشن‌های سنتی CRUD در دامنه‌های پیچیده معمولاً با چالش‌های مقیاس‌پذیری و نگهداری مواجه می‌شوند. در این دوره آموزشی با عنوان «طراحی دامنه-محور: پیاده‌سازی عملی CQRS»، یاد می‌گیرید که چگونه یک برنامه مبتنی بر CRUD را به سیستمی مقیاس‌پذیر، تست‌پذیر و متمرکز بر دامنه تبدیل کنید. ابتدا مشکلات CRUD در دامنه‌های پیچیده و نحوه حل آن‌ها توسط CQRS را بررسی می‌کنیم. سپس روش جداسازی عملیات خواندن (Read) و نوشتن (Write) را خواهید آموخت. در نهایت، نحوه استفاده از رویدادهای دامنه (Domain Events) و تصویرسازی مدل‌های خواندن (Read Model Projections) را فرا می‌گیرید. پس از اتمام این دوره، مهارت‌ها و دانش لازم از CQRS برای ساختاردهی به اپلیکیشن‌های مدرن .NET را برای بلندمدت به دست خواهید آورد.

سرفصل ها و درس ها

بازسازی اپلیکیشن‌های مبتنی بر CRUD با اصول CQRS Refactoring CRUD-based Applications with CQRS Principles

  • معرفی دوره Course Introduction

  • دمو: بررسی اپلیکیشن CRUD Demo: Looking at the CRUD Application

  • چالش‌های اپلیکیشن‌های CRUD Challenges with CRUD Applications

  • بازسازی به رابط کاربری Task-based Refactoring to a Task-based UI

  • دمو: بررسی کد رابط کاربری Task-based Demo: Looking at the Code for a Task-based UI

  • معرفی CQS و CQRS Introducing CQS and CQRS

  • دمو: استفاده از Commandها و Queryها Demo: Using Commands and Queries

کپسوله‌سازی رفتار دامنه با Aggregateها و Value Objectها Encapsulating Domain Behavior with Aggregates and Value Objects

  • معرفی Aggregateها Introducing Aggregates

  • تغییر مدل‌های کم‌خون (Anemic) به Aggregateها Going from Anemic Models to Aggregates

  • دمو: بازسازی برای Aggregateها Demo: Refactoring for Aggregates

  • دمو: استفاده از Aggregateها Demo: Using Aggregates

  • معرفی Value Objectها Introducing Value Objects

  • هماهنگ‌سازی منطق با سرویس‌های دامنه (Domain Services) Coordinating Logic with Domain Services

  • دمو: استفاده از Value Objectها Demo: Using Value Objects

پیاده‌سازی دغدغه‌های عرضی (Cross-cutting Concerns) با استفاده از Decoratorها Applying Cross-cutting Concerns Using Decorators

  • معرفی دغدغه‌های عرضی (Cross-cutting Concerns) Introducing Cross-cutting Concerns

  • معرفی Decoratorها Introducing Decorators

  • دمو: افزودن Pipeline Behavior Demo: Adding Pipeline Behavior

  • جداسازی رفتار برای Commandها و Queryها Splitting Behavior for Commands and Queries

  • دمو: جداسازی رفتار برای Commandها و Queryها Demo: Splitting Behavior for Commands and Queries

  • فعال یا غیرفعال کردن رفتارها (Opt-in/Opt-out) Opting-in or Opting-out of Behavior

  • دمو: فعال‌سازی رفتارها Demo: Opting-in of Behavior

ساخت مدل‌های بهینه برای خواندن جهت افزایش کارایی و سادگی Building Read-optimized Models for Performance and Simplicity

  • شناسایی مشکلات در سمت خواندن (Read Side) Identifying Problems on the Read Side

  • عملیات خواندن در CQRS Reads in CQRS

  • معرفی Dapper Introducing Dapper

  • دمو: پیکربندی Dapper Demo: Setting up Dapper

  • دمو: بهینه‌سازی پرس‌وجوها Demo: Optimizing Queries

  • دمو: بازسازی برای استفاده از مدل‌های مخصوص خواندن Demo: Refactoring to Use Read-specific Models

ایجاد دیتابیس اختصاصی برای عملیات پرس‌وجو (Query) Creating a Database for Query Operations

  • معرفی جداسازی دیتابیس‌ها Introducing Separation of Databases

  • دمو: ایجاد دیتابیس خواندن Demo: Creating the Read Database

  • مزایا و معایب استفاده از دیتابیس‌های مجزا Trade-offs When Using Separate Databases

به‌روز نگه داشتن مدل‌های خواندن Keeping Read Models Updated

  • معرفی قضیه CAP Introducing the CAP Theorem

  • همگام‌سازی مبتنی بر وضعیت (State-driven) State-driven Synchronization

  • همگام‌سازی مبتنی بر رویداد (Event-driven) Event-driven Synchronization

  • دیدگاه CQRS The CQRS Perspective

  • دمو: همگام‌سازی دیتابیس‌ها Demo: Keeping Your Databases in Sync

واکنش به تغییرات دامنه با استفاده از رویدادها Reacting to Domain Changes Using Events

  • معرفی رویدادهای دامنه (Domain Events) Introducing Domain Events

  • استفاده از رویدادهای دامنه Using Domain Events

  • دمو: افزودن رویدادهای دامنه Demo: Adding Domain Events

تفاوت بین CQRS و Event Sourcing Distinguishing CQRS from Event Sourcing

  • تفاوت بین CQRS و Event Sourcing Distinguishing CQRS from Event Sourcing

اجتناب از اشتباهات رایج Avoiding Common Pitfalls

  • اجتناب از اشتباهات رایج Avoiding Common Pitfalls

  • اشتباه اول: شروع با پیچیدگی زیاد Pitfall 1: Starting Too Complex

  • اشتباه دوم: Aggregateهای بیش از حد بزرگ Pitfall 2: Overgrown Aggregates

  • اشتباه سوم: مدل دامنه کم‌خون (Anemic) Pitfall 3: Anemic Domain Model

  • اشتباه چهارم: غافلگیری در سازگاری نهایی (Eventual Consistency) Pitfall 4: Eventual Consistency Surprise

  • اشتباه پنجم: نادیده گرفتن کنترل هم‌زمانی (Concurrency Control) Pitfall 5: Skipping Concurrency Control

  • اشتباه ششم: اهمال در سمت خواندن Pitfall 6: Neglecting the Read Side

  • اشتباه هفتم: نبود قابلیت مشاهده‌پذیری (Observability) Pitfall 7: No Observability

  • جمع‌بندی دوره Course Summary

نمایش نظرات

آموزش طراحی دامنه-محور (DDD): پیاده‌سازی عملی CQRS
جزییات دوره
2h 43m
48
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
11
5 از 5
دارد
دارد
دارد
Lindsey Broos
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Lindsey Broos Lindsey Broos

Lindsey Broos یک مشاور دات نت در Team4Talent است که در بلژیک زندگی می کند. تمرکز او همه چیز دات نت و توسعه وب است. او در جامعه فناوری به عنوان سرپرست Visug (گروه کاربران دات نت در بلژیک) و به عنوان عضو خدمه Techorama، بزرگترین کنفرانس مایکروسافت محور در بلژیک و هلند، بسیار فعال است.