К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
CQRS, API Development, and Module Communication · LearnSpace
Назад в каталог
courseraПрограммирование

CQRS, API Development, and Module Communication

Курс от Packt
Средний≈ 17.8 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

Updated in May 2025. This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. This course covers the implementation of CQRS (Command Query Responsibility Segregation) patterns and API development using MediatR for modular communication in .NET-based applications. You’ll learn how to structure applications using CQRS, focusing on the separation of read and write operations, and explore the integration of MediatR for handling commands and queries. With real-world examples, you will see how these patterns improve scalability and modularity in your applications. The journey begins with an introduction to CQRS and its role in managing complex systems by segregating commands and queries. You will learn how to implement CQRS logically and physically in your applications, utilizing MediatR to manage requests effectively. The course continues by exploring the development of catalog and basket modules, applying CQRS principles in real use cases, and handling domain events with MediatR’s INotificationHandler interface. As you progress, you will build REST APIs for catalog and basket modules using minimal APIs, Carter, and the REPR design pattern. You will also dive into handling cross-cutting concerns like validation, logging, and error handling, integrating them into your MediatR pipeline. Additionally, the course addresses caching strategies with Redis, providing a hands-on approach to optimizing performance in distributed systems. This course is designed for developers interested in building scalable, maintainable systems using modular monoliths with CQRS, MediatR, and minimal APIs. It is ideal for those looking to enhance their understanding of modular architecture and API development using .NET 8.

Навыки, которые вы освоите

Application Programming Interface (API)Software ArchitectureSoftware Design PatternsRestful APIMaintainabilityAPI DesignObject-Relational MappingRedisPostgreSQLData ValidationMiddleware.NET FrameworkASP.NETDistributed Computing

Программа курса

10 модулей · 158 учебных материалов

01Application Use Case Development with CQRS and MediatR11 материалов

Application Use Case Development with CQRS and MediatR

Introduction to the course "CQRS, API Development, and Module Communication"ЧтениеFull Course Resources SpecializationЧтениеIntroduction - Application Use Case Development with CQRS and MediatRВидеоCQRS (Command Query Responsibility Segregation) PatternВидео

Учитесь у экспертов

Packt - Course Instructors

Преподаватель курса

CQRS, API Development, and Module Communication
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 17.8 ч

10 модулей

Язык: Английский

Субтитры: Арабский, Французский, Итальянский, Корейский, Индонезийский, Испанский, Японский, Казахский

Часть программы вашего университета
Logical and Physical Implementation of CQRS PatternВидео
CQRS Design Pattern With MediatR Library (Logical CQRS Implementation)Видео
Develop Feature Handler Class with CQRS and MediatRВидео
Create Abstraction on MediatR for CQRS - Command and Query SeparationВидео
Create Abstraction on MediatR for CQRS - Command and Query Separation - Part 2Видео
Mastering C# CQRS Pattern with MediatRDIALOGUE
Application Use Case Development with CQRS and MediatR - AssessmentЗадание
02Catalog Application Use Case Development with CQRS and MediatR17 материалов

Catalog Application Use Case Development with CQRS and MediatR

Introduction - Catalog Application Use Case Development with CQRS and MediatRВидеоQuick Remember Catalog Module Application Use Cases AnalysisВидеоDevelop Catalog Module Folder Structure for CQRSВидеоDevelop DTO Classes for Product in Catalog ModuleВидеоDevelop Products CreateProductCommand and Handler in Catalog Modules ApplicationВидеоDevelop Products CreateProductCommandHandler using CatalogDbContext in CatalogВидеоDevelop Products UpdateProductCommand and Handler using CatalogDbContextВидеоDevelop Products DeleteProductCommand and Handler using CatalogDbContextВидеоDevelop Product Queries with CQRS and MediatR in Catalog ModuleВидеоMapping with MapsterВидеоDevelop Product Queries with CQRS and MediatR in Catalog Module with MapsterВидеоDevelop GetProductByCategory Queries with CQRS and MediatR in Catalog ModuleВидеоDevelop GetProductById Queries with CQRS and MediatR in Catalog ModuleВидеоDevelop Domain Event Handlers with MediatR INotificationHandler in CatalogВидеоDevelop Domain Event Handlers with MediatR INotificationHandler - Part 2ВидеоDeveloping Secure Vertical Slice Applications with CQRS, MediatR, and MapsterDIALOGUECatalog Application Use Case Development with CQRS and MediatR - AssessmentЗадание
03Develop Catalog API Endpoints Expose Minimal API Endpoints with Carter and REPR20 материалов

Develop Catalog API Endpoints Expose Minimal API Endpoints with Carter and REPR

Introduction - Develop Catalog API Endpoints Exposing Minimal API EndpointsВидеоREPR Design Pattern and CQRS MediatR Request LifecycleВидеоMinimal APIs and Install Carter Library to Expose Minimal APIsВидеоQuick Remember Catalog Module Endpoints AnalysisВидеоDevelop CreateProduct POST Endpoint with Carter Implements ICarterModuleВидеоDevelop CreateProduct POST Endpoint with Carter Implements ICarterModule - Part 2ВидеоDeveloping UpdateProduct Endpoint for REST APIs in Catalog ModuleВидеоDeveloping DeleteProduct Endpoint for REST APIs in Catalog ModuleВидеоDeveloping GetProducts Endpoint for REST APIs in Catalog ModuleВидеоDeveloping GetProductById Endpoint for REST APIs in Catalog ModuleВидеоDeveloping GetProductByCategory Endpoint for REST APIs in Catalog ModuleВидеоRegister Carter Libraries into ASP.NET Dependency Injection Service and RequestВидеоCreate Extension Method for Carter Assembly RegistrationsВидеоCreate Postman Collection for EShopModulesВидеоTest Catalog Module - CreateProduct POST Request - Debug Carter Minimal APIВидеоTest UpdateProduct Endpoint with CQRS and VSA in Catalog ModuleВидеоTest Get Product Endpoints with CQRS and VSA in Catalog ModuleВидеоTest DeleteProduct Endpoint with CQRS and VSA in Catalog ModuleВидеоDeveloping a Catalog API with Minimal API and Carter LibraryDIALOGUEDevelop Catalog API Endpoints Expose Minimal API Endpoints with Carter and REPR - AssessmentЗадание
04Develop Cross-cutting Concerns for Catalog and Each Module in EShop Modules20 материалов

Develop Cross-cutting Concerns for Catalog and Each Module in EShop Modules

Introduction - Develop Cross-cutting Concerns for Catalog and Each ModuleВидеоMediatR Pipeline Behaviors and Fluent Validation LibraryВидеоAdd Cross-cutting Concerns into Shared Class Library to Use in All ModulesВидеоApply Validation with AbstractValidator using Fluent Validation LibraryВидеоApply Validation with AbstractValidator using Fluent Validation Library - Part 2ВидеоValidation Pipeline Behavior with MediatR using Fluent Validation LibraryВидеоRemove Manual Validator and Test Validation Pipeline Behavior with MediatRВидеоDevelop CRUD Command Validators with Fluent ValidationВидеоGlobal Handling Exceptions in ASP.NET Core with app.UseExceptionHandlerВидеоShared Handle Exceptions Generic Way in ASP.NET Core with app.UseExceptionHandlerВидеоGlobal Exception Handling with IExceptionHandler Interface in ASP.NET CoreВидеоRegister Custom Exception Handling into ASP.NET with AddExceptionHandler MethodВидеоLogging Behavior in MediatR Pipeline for Cross-cutting ConcernsВидеоTest Logging Behavior for All MediatR Requests on Catalog ModuleВидеоStructured Logging Using Serilog in .NET 8.0 Minimal APIsВидеоSerilog WriteTo Seq for Structured Logging in .NETВидеоDevelop Pagination Class for Query GetProducts using CQRS and MediatRВидеоDevelop GetProducts Query Apply Pagination using CQRS and MediatRВидеоAdding Crosscutting Concerns with Exception HandlingDIALOGUEDevelop Cross-cutting Concerns for Catalog and Each Module in EShop Modules - AssessmentЗадание
05Develop Basket Module with Vertical Slice Architecture and CQRS7 материалов

Develop Basket Module with Vertical Slice Architecture and CQRS

Introduction - Develop Basket Module with Vertical Slice Architecture and CQRSВидеоDomain Analysis of Basket Module: Models, UCs, Rest APIs, DatabasesВидеоTechnical Analysis of Basket Module: Architectures, Patterns, Libraries, FoldersВидеоDevelop ShoppingCart Domain Entity Models in Basket Domain EntitiesВидеоDevelop DDD Rich-domain Model Entity for ShoppingCart EntitiesВидеоDesigning a Basket Module with Vertical Slice ArchitectureDIALOGUEDevelop Basket Module with Vertical Slice Architecture and CQRS - AssessmentЗадание
06Develop Basket Data-Infrastructure with EF Core Code First and PostgreSQL15 материалов

Develop Basket Data-Infrastructure with EF Core Code First and PostgreSQL

Introduction - Develop Basket Data-Infrastructure with EF Core Code FirstВидеоSteps of Infrastructure EF Core Developments for Basket ModuleВидеоDevelop EF Core DbContext Object for Storing Entities in Basket InfrastructureВидеоMapping DDD Objects to EF Entities - Develop EF Core Entity ConfigurationsВидеоEF Core 8 Relations and DDD ValueObject Mapping with ComplexType and PropertyВидеоDevelop SC and SC Items Relations Entity ConfigurationsВидеоEF Core SQL Server Connection String in appsettings.json fileВидеоRegister EF Core DbContext in ASP.NET Dependency Injection Tool for PostgreSQLВидеоCreate EF Core Migrations for BasketDbContext in Basket InfrastructureВидеоRun Docker-Compose on Visual Studio to Setup PostgreSQL on DockerВидеоApply EF Core Migrations to PostgreSQL DB with Update-Database CommandВидеоAuto Migrate EF Core Entities to PostgreSQL When Application Startup with CodingВидеоTest Auto-Migrations with UseMigration Extension Method on WebApplicationВидеоDeveloping Basket Data Infrastructure OperationsDIALOGUEDevelop Basket Data-Infrastructure with EF Core Code First and PostgreSQL - AssessmentЗадание
07Develop Basket Application Use Case Development with CQRS and MediatR11 материалов

Develop Basket Application Use Case Development with CQRS and MediatR

Introduction - Basket Application Use Case Development with CQRS and MediatRВидеоDevelop Basket Folder Structure for CQRSВидеоDevelop DTO Classes for ShoppingCart in Basket ModuleВидеоDevelop Basket CreateBasketCommand and Handler in Basket Application Use CasesВидеоDevelop Basket CreateBasketCommandHandler using BasketDbContext in Basket ModuleВидеоDevelop Basket DeleteBasketCommand and Handler using BasketDbContext in BasketВидеоDevelop Basket Queries with CQRS and MediatR in Basket ModuleВидеоDevelop Basket AddItemIntoBasketHandler with CQRS and MediatRВидеоDevelop Basket RemoveItemFromBasketHandler with CQRS and MediatRВидеоDeveloping Basket Module with CQRS and Mediator PatternDIALOGUEDevelop Basket Application Use Case Development with CQRS and MediatR - AssessmentЗадание
08Develop Basket API Endpoints Exposing Minimal API Endpoints with Carter and REPR16 материалов

Develop Basket API Endpoints Exposing Minimal API Endpoints with Carter and REPR

Introduction - Develop Basket API Endpoints Exposing Minimal API EndpointsВидеоDevelop CreateBasket POST Endpoint with Carter Implements ICarterModuleВидеоDevelop DeleteBasket Endpoint with Carter Implements ICarterModuleВидеоDevelop GetBasket Endpoint with Carter Implements ICarterModule for Minimal APIsВидеоDevelop AddItemIntoBasket Endpoint with Carter Implements ICarterModuleВидеоDevelop RemoveItemFromBasket Endpoint with Carter Implements ICarterModuleВидеоRegister MediatR and Carter Libraries into ASP.NET Dependency Injection ServiceВидеоRegister MediatR Libraries into ASP.NET Dependency Injection Service and RequestВидеоDevelop MediatR Extension Method for Custom Registration With AssembliesВидеоTest Basket API - CreateBasket POST Request - Debug Carter Minimal APIВидеоTest Get Basket Endpoints with CQRS and VSA in Basket ModuleВидеоTest DeleteBasket Endpoint with CQRS and VSA in Basket ModuleВидеоTest AddItemIntoBasket Endpoint with CQRS and VSA in Basket ModuleВидеоTest RemoveItemFromBasket Endpoint with CQRS and VSA in Basket ModuleВидеоDeveloping a Minimal API with Carter and MediatorDIALOGUEDevelop Basket API Endpoints Exposing Minimal API Endpoints with Carter and REPR - AssessmentЗадание
09Develop Distributed Caching with Redis in Basket Module23 материалов

Develop Distributed Caching with Redis in Basket Module

Introduction - Develop Distributed Caching with Redis in Basket ModuleВидеоDevelop BasketRepository Class using EF Core DbContext ObjectВидеоImplement IBasketRepository Class using EF Core DbContext ObjectВидеоRegister IBasketRepository into DI of Basket ModuleВидеоInject and Use IBasketRepository into Handler Classes in Basket ModuleВидеоInject and Use IBasketRepository into AddItem and RemoveItem Handler ClassesВидеоQuick Test Basket Endpoint with CQRS and VSA in Basket ModuleВидеоCache-aside Pattern and Cache InvalidationВидеоProxy Pattern, Decorator Pattern, and Scrutor LibraryВидеоDevelop CachedBasketRepository with Proxy Pattern, Decorator Pattern, and ScrutorВидеоDevelop CachedBasketRepository with Proxy Pattern, Decorator Pattern - Part 2ВидеоDevelop CachedBasketRepository with Proxy Pattern, Decorator Pattern - Part 3ВидеоRegister Decorated CachedBasketRepository and StackExchangeRedis with ScrutorВидеоRegister StackExchangeRedis into Common DI in API Project Program.csВидеоSetup Redis as a Distributed Cache using Docker-compose File for Multi-containerВидеоRun Docker-Compose on Visual Studio to Setup Redis Distributed Cache on DockerВидеоConnect Redis Cache from Local Basket Module and Send GET Request Basket CacheВидеоDevelop Custom JsonConverter for ShoppingCart and Items When Reading to RedisВидеоDevelop Custom JsonConverter for ShoppingCart and Items - Part 2ВидеоUse Custom JsonSerializerOptions with JsonConverter for ShoppingCart and ItemsВидеоQuick Test Basket Endpoint with CachedBasket Repository and Custom JsonConverterВидеоIntegrating Redis with a C# Basket ModuleDIALOGUEDevelop Distributed Caching with Redis in Basket Module - AssessmentЗадание
10Sync Communications Between Modules with In-Process Method Calls (Public APIs)18 материалов

Sync Communications Between Modules with In-Process Method Calls (Public APIs)

Introduction - Sync Communications Between Modules with In-Process Method CallsВидеоHow Modular Monolithic Architecture Handles Communications Between ModulesВидеоBasket Module Synchronous Use Cases - Adding an Item to the Basket CommunicationВидеоExamine AddItemIntoBasketHandler Class: Get Product Price from Catalog ModuleВидеоSync Communication Between Modules Using Contracts Class LibrariesВидеоStep 1: Create Catalog.Contracts Class LibraryВидеоStep 2: Move Exposing MediatR Method Query or Commands into Catalog.ContractsВидеоSplitting CQRS Contract-Related Common Operations into Shared.Contracts Class LibraryВидеоStep 3: Modify Catalog Module Getting Reference from Catalog.Contracts Class LibraryВидеоStep 4: Basket Get Reference from Catalog.Contracts Class LibraryВидеоStep 6: Get Product Entity Values into AddItemIntoBasketHandler and Set PriceВидеоTest Basket AddItemIntoBasket Sync Call to Catalog Module to Get Product DataВидеоStep 7: Migrating Microservices: Evolving Contracts Sync CommunicationВидеоConclusion to the Course" CQRS, API Development, and Module Communication"ЧтениеDeveloping Synchronous Module Communication in C#DIALOGUESync Communications Between Modules with In-Process Method Calls (Public APIs) - AssessmentЗаданиеFull Course Practice AssessmentЗаданиеFull Course AssessmentЗадание