ساخت یک Event Store در C# .NET برای CQRS و Event Sourcing
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- درک اهمیت استفاده از رویدادهای کسبوکار (دامنه) به عنوان تنها منبع حقیقت در راهکار خود
- درک چگونگی استفاده و پیادهسازی زبان فراگیر در سورس کد
- درک چگونگی ساخت یک Event Store، چگونگی عملکرد آن و چگونگی استفاده صحیح از آن
- درک چگونگی جداسازی یک سیستم بین عملیات خواندن و نوشتن برای بهینهسازی جریان و عملکرد با استفاده از CQRS
- درک چگونگی استفاده از طراحی دامنه-محور (DDD) در راهکار خود با بهرهگیری از ریشههای تجمعی
- درک اینکه پروجکشنها چه هستند و چگونه آنها را برنامهنویسی کنید.
- درک چگونگی انتشار رویدادهای دامنه و رویدادهای خطا
- درک اینکه اسنپشاتها چه هستند و چگونه از آنها به درستی استفاده کنید.
- درک اینکه مدلهای خواندنی چه هستند و چگونه آنها را پیادهسازی کنید.
پیشنیازهای دوره
- آشنایی با برنامهنویسی #C کاملاً ضروری نیست، اما میتواند مفید باشد. اگر توسعهدهنده جاوا هستید، میتوانید به راحتی این مفاهیم یا حتی سورس کد را به جاوا تبدیل کنید.
توضیحات دوره
ارتباط و بازخورد آنی به مشتریان، امروزه بیش از هر زمان دیگری اهمیت دارد. مشتریان به دریافت بازخورد فوری برای اقداماتی که در نرمافزار شما انجام میدهند، عادت کردهاند. در اپلیکیشن های مبتنی بر CRUD، ارائه این سطح از پاسخگویی که مشتریان شما انتظار دارند، بسیار دشوار است. راهکارهای مبتنی بر رویداد که بر پایه CQRS، Event Sourcing و طراحی دامنه-محور (DDD) بنا شدهاند، میتوانند بینشهای عمیق و آنی را هم به مشتریان و هم به کسبوکار شما ارائه دهند. مهمتر از آن، در یک راهکار مبتنی بر Event Sourcing، در مقایسه با راهکارهای CRUD، هیچ دادهای را از دست نخواهید داد؛ زیرا راهکار شما قادر خواهد بود تا زمینه و دلیل وقوع تغییرات را فراهم کرده و این تغییرات را در یک لاگ تغییرناپذیر به نام Event Store ثبت کند.
در این دوره، شما با اهمیت استفاده از رویدادهای دامنه به عنوان منبع حقیقت خود، به جای قطعات ناقص داده در اپلیکیشن های مبتنی بر CRUD، آشنا خواهید شد. شما قادر خواهید بود داستانهایی درباره اینکه چه اتفاقی، چه زمانی و چرا رخ داده است، روایت کنید. شما میتوانید به سوالات آینده مشتریان و کسبوکارتان پاسخ دهید، حتی اگر در زمان طراحی و ساخت راهکار مبتنی بر Event Sourcing خود، تمام نیازمندیها را در اختیار نداشته باشید.
در قلب راهکار شما، Event Store قرار خواهد داشت. Event Store منبع حقیقت در کل راهکار شماست. ما یک Event Store را در C# .NET خواهیم ساخت و از AWS DynamoDB به عنوان مکانیزم پایدارسازی استفاده خواهیم کرد. با این حال، سورس کد ارائه شده به زبان #C را میتوان به راحتی به جاوا یا زبانهای دیگر تبدیل کرد. برای پایدارسازی دادهها، میتوانید از MySQL، PostgreSQL، MongoDB و سایر پایگاههای داده نیز استفاده کنید. کد #C به گونهای انتزاعی طراحی شده است که بتوانید آن را برای پیادهسازیهای پایدارسازی خاص خود مجدداً استفاده کنید. این مفاهیم و کدها برای مدلهای درون-سازمانی، صرفاً ابری یا ترکیبی قابل استفاده هستند. به عنوان یک نمونه پیادهسازی مدل خواندنی، ما یک مدل خواندنی را با استفاده از MySQL در AWS ایجاد خواهیم کرد.
زمانی که قدرت Event Sourcing را درک کنید، دیگر به روشهای گذشته باز نخواهید گشت.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان و معماران نرمافزاری که در مورد معماریهای رویداد-محور با استفاده از CQRS و Event Sourcing و طراحی دامنه-محور (DDD) کنجکاو هستند.
ساخت یک Event Store در C# .NET برای CQRS و Event Sourcing
-
مقدمه 01:37
-
ساختار دوره 04:43
-
رویداد محوری چیست؟ 16:43
-
بینشهای کسبوکار در سیستمهای مبتنی بر رویداد محوری 04:09
-
مزایای فنی سیستمهای مبتنی بر رویداد محوری 06:18
-
ساخت Event Store شخصی در مقابل استفاده از راهکارهای شخص ثالث 06:53
-
CQRS چیست؟ 09:17
-
پیادهسازی یک فرمان 21:59
-
پیادهسازی Command Handler ها 25:48
-
پرس و جوها 06:50
-
پیادهسازی Aggregate Root ها 39:07
-
معماری سطح بالا 09:32
-
از چه پایگاه دادهای باید استفاده کرد؟ 08:12
-
استفاده از AWS DynamoDB به عنوان Event Store 05:45
-
بررسی کامپوننتهایی که خواهیم ساخت 04:36
-
جریان داده در معماری و چگونگی عملکرد Event Store 05:22
-
پیادهسازی جداول DynamoDB به صورت دستی 14:24
-
پیادهسازی جداول DynamoDB با CloudFormation 13:42
-
ایجاد یک Event Store مبتنی بر DynamoDB در #C و NET Core. 52:33
-
چگونه تداخلهای همزمانی را مدیریت کنیم؟ 22:59
-
Event Store حافظهمحور 08:24
-
اسنپشاتها چیست؟ 07:39
-
پیادهسازی یک اسنپشاتها 17:37
-
پروجکشنها چیست؟ 10:01
-
پیادهسازی یک پروجکشنها 07:32
-
انتشار و مصرف رویدادهای دامنه 10:32
-
پیادهسازی یک فرآیند سازگار برای انتشار رویدادهای دامنه 41:57
-
اهمیت مدلهای خواندنی 07:03
-
پیادهسازی یک Read Model در #C با استفاده از MySQL بر روی AWS 44:13
-
نکات پایانی 04:10
مشخصات آموزش
ساخت یک Event Store در C# .NET برای CQRS و Event Sourcing
- تاریخ به روز رسانی: 1404/09/07
- سطح دوره:متوسط
- تعداد درس:30
- مدت زمان :07:19:41
- حجم :7.61GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy