آموزش ساخت ایونت استور در C# .NET برای CQRS و Event Sourcing - آخرین آپدیت

دانلود Build an Event Store in C# .NET for CQRS and Event Sourcing

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

ساخت Event Store در سی شارپ برای معماری‌های مبتنی بر رویداد (Event-Driven Architectures) با استفاده از CQRS، Event Sourcing و Domain-Driven Design

اهمیت رویدادهای دامنه (Business Events) به عنوان منبع حقیقت را درک کنید. بیاموزید چگونه از زبان مشترک (Ubiquitous Language) در کد منبع خود استفاده و پیاده‌سازی کنید.

آموزش ساخت Event Store

با چگونگی ساخت Event Store، عملکرد آن و استفاده صحیح از آن آشنا شوید.

بهینه‌سازی جریان و عملکرد با CQRS

نحوه جداسازی سیستم به دو بخش خواندن (Read) و نوشتن (Write) برای بهینه‌سازی جریان و عملکرد با استفاده از CQRS را بیاموزید.

پیاده‌سازی Domain-Driven Design (DDD)

با استفاده از ریشه‌های تجمیعی (Aggregate Roots)، چگونگی استفاده از طراحی دامنه محور (DDD) در راه حل خود را بیاموزید.

آشنایی با Projections و Read Models

درک کنید که Projections چه هستند و چگونه می‌توان آن‌ها را برنامه‌نویسی کرد. نحوه انتشار رویدادهای دامنه (Domain Events) و رویدادهای شکست (Failure Events) را بیاموزید.

استفاده بهینه از Snapshots

درک کنید Snapshots چه هستند و چگونه از آن‌ها به درستی استفاده کنید. نحوه پیاده‌سازی Read Models را بیاموزید.

پیش‌نیازها

دانستن برنامه‌نویسی به زبان C# مفید است. اگر توسعه‌دهنده Java هستید، می‌توانید به راحتی مفاهیم یا حتی کد منبع را به Java تبدیل کنید.

ارتباطات و بازخورد بی‌درنگ به مشتریان بیش از هر زمان دیگری اهمیت دارد. مشتریان به بازخورد فوری نسبت به اقداماتی که در نرم‌افزار شما انجام می‌دهند عادت کرده‌اند. ارائه این نوع پاسخگویی که مشتریان شما خواهان آن هستند، در برنامه‌های مبتنی بر CRUD (ایجاد، خواندن، به‌روزرسانی، حذف) بسیار دشوار است. راه‌حل‌های مبتنی بر رویداد که بر اساس CQRS، Event Sourcing و Domain-Driven Design (DDD) بنا شده‌اند، می‌توانند بینش عمیقی را به صورت بی‌درنگ به مشتریان و کسب‌وکار شما ارائه دهند. مهم‌تر از آن، در یک راه‌حل Event-Sourced، بر خلاف راه‌حل‌های مبتنی بر CRUD، داده‌ها را از دست نمی‌دهید، زیرا راه‌حل شما قادر خواهد بود زمینه و چرایی وقوع تغییرات را فراهم کند و تغییرات را در یک لاگ تغییرناپذیر، یعنی Event Store، ثبت نماید.

در این دوره، در مورد اهمیت استفاده از رویدادهای دامنه به عنوان منبع حقیقت به جای قطعات داده‌ای که در برنامه‌های مبتنی بر CRUD ناقص هستند، خواهید آموخت. شما قادر خواهید بود داستان‌هایی از اینکه چه اتفاقی، چه زمانی و چرا افتاده است را روایت کنید. حتی اگر در هنگام طراحی و ساخت راه‌حل Event-Sourced خود، تمام نیازمندی‌ها را در دست نداشته باشید، قادر خواهید بود به سوالات آتی مشتریان و کسب‌وکارتان پاسخ دهید.

در قلب راه‌حل شما، Event Store قرار خواهد داشت. Event Store منبع حقیقت در کل راه‌حل شماست. ما یک Event Store در C#. NET خواهیم ساخت و از AWS DynamoDB به عنوان مکانیزم پایداری (Persistence) استفاده خواهیم کرد. با این حال، کد منبع C# ارائه شده به راحتی قابل تبدیل به Java یا زبان‌های دیگر است. برای پایداری واقعی، می‌توانید از MySQL، PostgreSQL، MongoDB و موارد دیگر نیز استفاده کنید. کد C# انتزاعی شده است تا بتوانید آن را برای پیاده‌سازی‌های پایداری خاص مجدداً استفاده کنید. مفاهیم و کد می‌توانند برای مدل‌های داخلی (On-premise)، ابری (Cloud only) یا ترکیبی (Hybrid) کار کنند. به عنوان نمونه‌ای از پیاده‌سازی Read Model، ما یک Read Model با استفاده از MySQL در AWS ایجاد خواهیم کرد.

هنگامی که قدرت Event Sourcing را درک کنید، دیگر به عقب برنمی‌گردید.


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

مقدمه Introduction

  • مقدمه Introduction

  • ساختار دوره Course Structure

  • کد منبع در C# Source Code in C#

منبع‌یابی رویداد (Event Sourcing) Event Sourcing

  • منبع‌یابی رویداد چیست؟ What is Event Sourcing?

  • بینش‌های کسب‌وکار سیستم‌های مبتنی بر رویداد The Business Insights of Event-Sourced Systems

  • مزایای فنی سیستم‌های مبتنی بر رویداد The Technical Advantages of Event-Sourced Systems

  • ساخت فروشگاه رویداد خودتان در مقابل استفاده از راهکار شخص ثالث Building your own Event Store vs. using a third party solution

CQRS CQRS

  • CQRS چیست؟ What is CQRS?

  • پیاده‌سازی یک فرمان (Command) Implementing a Command

  • پیاده‌سازی پردازشگرهای فرمان Implementing Command Handlers

  • پرس‌وجوها (Queries) Queries

طراحی دامنه محور (DDD) Domain-Driven Design (DDD)

  • پیاده‌سازی ریشه‌های تجمیع (Aggregate Roots) Implementing Aggregate Roots

فروشگاه رویداد (Event Store) Event Store

  • معماری سطح بالا High-Level Architecture

  • از چه پایگاه داده‌ای باید استفاده کرد؟ What database should you use?

  • استفاده از AWS DynamoDB به عنوان فروشگاه رویداد Using AWS DynamoDB as an Event Store

پیاده‌سازی یک فروشگاه رویداد Implementing an Event Store

  • مروری بر کامپوننت‌هایی که خواهیم ساخت Overview of the components we will build

  • جریان داده در معماری و نحوه عملکرد فروشگاه رویداد Data flow within the architecture and how the event store will operate

  • پیاده‌سازی دستی جداول DynamoDB Implementing DynamoDB Tables by Hand

  • پیاده‌سازی جداول DynamoDB با CloudFormation Implementing DynamoDB Tables with CloudFomration

  • ایجاد یک فروشگاه رویداد DynamoDB در C# و .NET Core Creating a DynamoDB Event Store in C# and .NET Core

  • نحوه مدیریت نقض‌های همزمانی (Concurrency Violations) How to manage concurrency violations

  • فروشگاه رویداد در حافظه (Memory Event Store) Memory Event Store

اسنپ‌شات‌ها (Snapshots) Snapshots

  • اسنپ‌شات چیست؟ What is a Snapshot

  • پیاده‌سازی اسنپ‌شات Implementing a Snapshot

پرژکشن‌ها (Projections) Projections

  • پرژکشن چیست؟ What is a Projection?

  • پیاده‌سازی پرژکشن Implementing a Projection

انتشار و مصرف رویدادهای دامنه Publishing and Consuming Domain Events

  • انتشار و مصرف رویدادهای دامنه Publishing and consuming domain events

  • پیاده‌سازی یک فرآیند انتشار مداوم رویدادهای دامنه Implementing a consistent domain event publication process

مدل‌های خواندن (Read Models) Read Models

  • اهمیت مدل‌های خواندن The importance of read models

  • پیاده‌سازی یک مدل خواندن در C# با استفاده از MySQL در AWS Implementing a read model in C# using MySQL on AWS

نکات پایانی Final Thoughts

  • نکات پایانی Final Thoughts

نمایش نظرات

آموزش ساخت ایونت استور در C# .NET برای CQRS و Event Sourcing
جزییات دوره
7.5 hours
31
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
105
4 از 5
ندارد
دارد
دارد
Thomas Jaeger
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Thomas Jaeger Thomas Jaeger

معمار ارشد