نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
یک MVP را در .NET 9 با استفاده از میکروسرویسهای C#، طراحی دامنه-محور (DDD)، CQRS، معماری Clean و Vertical Slice، gRPC، سیستمهای پیامرسان و Docker بسازید.
پیادهسازی ۵ میکروسرویس واقعی به صورت End-to-End و بررسی نحوه قرارگیری مونو لیتهای ماژولار در یک راهکار واحد.
پیادهسازی CQRS و Interceptorها با استفاده از MediatR و FastEndpoints.
استفاده از gRPC برای ارتباطات همزمان (Synchronous) و MassTransit برای ارتباطات ناهمزمان (Asynchronous).
طراحی سیستم با استفاده از نمودارهای C4، نمودارهای Sequence و DDD تاکتیکی.
بهکارگیری معماری Vertical Slice و Clean Architecture برای سازماندهی میکروسرویسها.
اعمال اصول DDD برای مدلسازی Aggregateها، Value Objectها و Domain Eventها بر اساس قوانین واقعی کسبوکار.
استفاده از Docker برای کانتینریزه کردن میکروسرویسها و وابستگیهای خارجی.
ساخت Minimal APIهای منعطف با ASP.NET Core (با یا بدون Carter).
پیادهسازی Middleware مدیریت استثناهای سراسری برای پاسخهای خطای تمیز و یکپارچه.
اعمال Interception با استفاده از Endpoint Filterها، رفتارهای MediatR، Pre-processorها و gRPC Interceptorها.
استفاده از GraphQL برای پرسوجو و فیلتر کردن بهینه دادهها از دیتابیس PostgreSQL.
ایمنسازی APIها با احراز هویت مبتنی بر نقش (RBAC) با .NET Identity و توکنهای JWT.
استفاده از Redis برای افزایش چشمگیر عملکرد میکروسرویسها.
پیادهسازی الگوی CacheRepository با DbContext و InMemoryCache برای کوئریهای سریعتر.
ذخیرهسازی فایلها در Azure Blob Storage یا Mongo GridFS برای مدیریت مقیاسپذیر فایلها.
مدیریت Domain Eventها برای ایجاد اثرات جانبی در سرویسها با استفاده از SaveChangesInterceptor.
نگاشت بهینه DTOها و Integration Eventها با استفاده از Mapster یا AutoMapper.
پیشنیازها: دانش پایه C# و .NET (کلاسها، اینترفیسها، async/await)، آشنایی با REST APIها (متدهای HTTP، JSON، کنترلرها)، درک دیتابیسها و SQL (کوئریهای پایه، روابط)، آشنایی با Visual Studio یا VS Code. تجربه کار با Git و GitHub و آشنایی با Docker مزیت محسوب میشود.
در این دوره ما میکروسرویسهای واقعی C# و یک مونو لیت ماژولار را در محیط .NET 9 از صفر میسازیم: یک MVP کامل برای مدیریت مقالات علمی. شما یاد خواهید گرفت که چگونه طراحی دامنه-محور (DDD) و معماری Vertical Slice را در جریانهای کاری واقعی کسبوکار اعمال کنید، نه در مثالهای ساده و تئوری.
خواهید دید که چگونه نیازمندیهای کسبوکار را به Bounded Contextها، Aggregateها، Value Objectها و Domain Eventها تبدیل کنید و سپس آنها را با C#، ASP.NET Core، EF Core، gRPC، پیامرسانی و Docker پیادهسازی نمایید. هر قابلیت به صورت یک برش عمودی (Vertical Slice) ساخته میشود: از قرارداد API و اعتبارسنجی، تا Command Handlerها و منطق دامنه، و در نهایت لایه ذخیرهسازی و تستها.
ما هر دو نوع ارتباطات همزمان و ناهمزمان بین سرویسها را پیاده میکنیم. شما یاد میگیرید تفاوت بین سرویسهای هستهای/حیاتی (با استفاده از gRPC برای قابلیت اطمینان) و سرویسهای دامنه (با استفاده از معماری Event-Driven) را تشخیص دهید. این امر تجربه عملی در زمینه CQRS و الگوهای رویداد-محور در یک سیستم توزیع شده واقعی به شما میدهد.
در طول مسیر بر تصمیمات معماری کاربردی تمرکز میکنیم: چه زمانی از میکروسرویس در مقابل مونو لیت ماژولار استفاده کنیم، چگونه دامنههای غنی (Rich Domain) به جای مدلهای کمخون (Anemic) طراحی کنیم، نحوه اعمال CQRS با MediatR و چگونگی تمیز و تستپذیر نگه داشتن کد در حین ارتباطات gRPC و پیامرسان.
در پایان این دوره شما قادر خواهید بود:
طراحی و پیادهسازی میکروسرویسهای .NET 9 و مونو لیت ماژولار با DDD و Clean Architecture
بهکارگیری Vertical Slice، CQRS و معماری Event-Driven در یک پروژه واقعی
مدلسازی اصولی Aggregateها، Value Objectها و Domain Eventها
پیادهسازی ارتباطات همزمان (gRPC) و ناهمزمان (Messaging) بین سرویسها
ساختاربندی راهکارها برای قابلیت نگهداری بلندمدت و مرزهای شفاف
اتخاذ تصمیمات معماری عملگرایانه به جای دنبال کردن صرف تئوریها
این دوره برای چه کسانی است؟
توسعهدهندگان متوسط تا ارشد C# / .NET که حداقل یک Web API ساختهاند و میخواهند طراحی سیستمهای واقعی با DDD و میکروسرویسها را بیاموزند. توسعهدهندگان جونیور مشتاق که با C#، ASP.NET Core Web API و SQL راحت هستند و میخواهند به سطح معماری و طراحی سیستم ارتقا یابند.
معماران نرمافزار که به دنبال یک نمونه عملی و کامل End-to-End در .NET 9 از الگوهای معماری مدرن هستند.
شما باید با مفاهیم پایه C# آشنا باشید، تجربهای در ASP.NET Core Web API داشته باشید و SQL پایه را بدانید. توصیه میشود این اولین پروژه C# شما نباشد، با این حال من شما را گامبهگام از یک راهکار خالی به یک معماری در سطح Production هدایت خواهم کرد.
سرفصل ها و درس ها
معرفی دوره و شروع به کار
Course Overview & Getting Started
چه کارهایی انجام خواهیم داد
What We Will Do
چه چیزهایی یاد خواهید گرفت
What You Will Learn
راهاندازی و نیازمندیها
Setup and Requirements
مخازن گیتهاب
GitHub Repositories
نحوه دنبال کردن دوره
How to Follow the Course
مفاهیم فنی و مبانی معماری
Technical Concepts & Architecture Fundamentals
معماری سطح بالا - پشته فنی، لایهها و وابستگیها
High-Level Architecture – Tech Stack, Layers & Dependencies
DDD تاکتیکی - Aggregateها، موجودیتها، Value Objectها و رویدادهای دامنه
Tactical DDD – Aggregates, Entities, Value Objects & Domain Events
استارتآپ اپلیکیشن - پیکربندی سرویسها و ماژولها با Dependency Injection
Application Startup – Configure Services & Modules with Dependency Injection
ایجاد مقاله - پیادهسازی NotFound با مخازن و کد وضعیت HTTP
CreateArticle – Implement NotFound with Repositories & HTTP Status Code
ایجاد مقاله - پیادهسازی دامنه برای تخصیص کاربر فعلی به عنوان نویسنده
CreateArticle – Implement Domain to Assign Current User as Author
ایجاد مقاله - پیکربندی Persistence برای تخصیص نویسنده
CreateArticle – Configure Persistence to Assign Current User as Author
ایجاد مقاله - پیادهسازی Handler برای تخصیص نویسنده
CreateArticle – Implement Handler to Assign Current User as Author
تخصیص نویسنده - پیادهسازی قابلیت کامل با دامنه، Handler و Endpoint
AssignAuthor – Implement Full Feature with Domain, Handler & Endpoint
ایجاد و تخصیص نویسنده - پیادهسازی قابلیت کامل
CreateAndAssignAuthor – Implement Full Feature with Domain, Handler & Endpoint
آپلود دستنویس - پیادهسازی Endpoint با Minimal API و FromForm Binding
UploadManuscript – Implement Endpoint with Minimal API & FromForm Binding
آپلود دستنویس - پیادهسازی دامنه با Asset Aggregate و File Value Object
UploadManuscript – Implement Domain with Asset Aggregate and File Value Object
آپلود دستنویس - پیکربندی Asset و File با EF Core و ComplexProperty
UploadManuscript – Configure Asset and File with EF Core & ComplexProperty
آپلود دستنویس - پیادهسازی Command Handler با MediatR و مخازن
UploadManuscript – Implement Command Handler with MediatR and Repositories
آپلود دستنویس - پیادهسازی In Memory Cache Repository برای AssetType
UploadManuscript – Implement In-Memory Cache Repository for AssetType
آپلود دستنویس - پیادهسازی ماژول FileStorage (مونو لیت) با Mongo GridFS
UploadManuscript – Implement FileStorage Module (Monolith) with Mongo GridFS
آپلود دستنویس - یکپارچهسازی ماژول FileStorage در Command Handle
UploadManuscript – Integrate FileStorage Module in Command Handle
جمعبندی ماژول - تمامی Endpointها و تستها
Module Wrap-Up - All Endpoints & Testing
میکروسرویس احراز هویت با FastEndpoints، JWT و کنترل دسترسی مبتنی بر نقش
Auth Microservice with FastEndpoints, JWT Auth, and Role-Based Access Control
مرور کلی - جریان احراز هویت، User Storyها و طراحی Endpoint
Overview – Auth Flow, User Stories & Endpoint Design
معماری سطح بالا - پشته فنی، لایهها و انتخابهای طراحی
High Level Architecture – Tech Stack, Layers & Design Choices
یکپارچهسازی - جریان احراز هویت با توکنهای JWT برای SSO بین سرویسها
Integration – Auth Flow with JWT Tokens for SSO Across Services
DDD تاکتیکی - Aggregateها، موجودیتها، Value Objectها و رویدادهای دامنه
Tactical DDD – Aggregates, Entities, Value Objects & Domain Events
خلاصه معماری - الگوهای کلیدی، ابزارها و تصمیمات طراحی
Architecture Summary - Key Patterns, Tools & Design Decisions
ایجاد کاربر - مرور کلی و نمودار کامپوننت C4
CreateUser – Overview & Architecture C4 Component Diagram
ایجاد کاربر - پیادهسازی منطق Command و Validator با FluentValidation
CreateUser – Implement Command & Validator Logic with FluentValidation
ایجاد کاربر - پیادهسازی User Domain Aggregate با اصول DDD
CreateUser – Implement User Domain Aggregate with DDD Principles
ایجاد کاربر - پیادهسازی Persistence دامنه با EF Core و SQL Server
CreateUser – Implement Domain Persistence with EF Core & SQL Server
جعبه ابزار - ارتقا به .NET 9
Toolbox – Upgrade to .NET 9
ایجاد کاربر - پیادهسازی Command Handler با ASP.NET Identity و FastEndpoints
CreateUser – Implement Command Handler with ASP.NET Identity & FastEndpoints
ماژول EmailService - پیادهسازی یکپارچهسازی SMTP در مونو لیت ماژولار
EmailService Module – Implement SMTP Integration in Modular Monolith
ایجاد کاربر - پیادهسازی Domain Event برای ایمیل تایید با FastEndpoints
CreateUser – Implement Domain Event for Confirmation Email with FastEndpoints
استارتآپ اپلیکیشن - پیکربندی سرویسها و ماژولها از طریق DI
Application Startup – Configure Services & Modules via Dependency Injection
ورود (Login) - مرور کلی معماری و نمودار جریان احراز هویت
Login – Architecture Overview & Auth Flow Diagram
ورود - پیادهسازی منطق Command و Validator با FluentValidation
Login – Implement Command & Validator Logic with FluentValidation
ورود - پیادهسازی Command Handler با ASP.NET Identity و FastEndpoints
Login – Implement Command Handler with ASP.NET Identity & FastEndpoints
ورود - تولید توکن JWT در Command Handler
Login – Generate JWT Token in Command Handler
ورود - تولید و ذخیرهسازی Refresh Token
Login – Generate & Persist Refresh Token
ورود - بازنویسی با SRP و DDD: انتقال تولید توکن به Factory
Login – Refactor with SRP & DDD: Move Token Generation to Factory
میکروسرویس ژورنال با FastEndpoints، Redis و gRPC
Journal Microservice with FastEndpoints, Redis & gRPC
مرور کلی - جریان احراز هویت، User Storyها و طراحی Endpoint
Overview – Auth Flow, User Stories & Endpoint Design
ژورنال - پیادهسازی سرویس و مخزن gRPC برای IsEditorAssignedToJournal
Journal - Implement IsEditorAssignedToJournal gRPC Service & Repository
تایید مقاله - پیادهسازی IsEditorAssignedToJournal از طریق سرویس gRPC ژورنال
ApproveArticle -Implement IsEditorAssignedToJournal via Journal gRPC Service
میکروسرویس داوری با MediatR، FluentValidation و EF.Core
Review Microservice with MediatR, FluentValidation & EF.Core
مرور کلی - جریان مقاله، User Storyها و طراحی Endpoint
Overview – Article Flow, User Stories & Endpoint Design
نمایش نظرات