CQRS + Event Sourcing com .NET + MediatR
- Nível: Avançado
- Módulos: 5
- Aulas: 35
- Tempo de leitura: 12h 51min
- Tecnologias: C#
- Preço: Gratuito
Domine os padrões arquiteturais mais avançados do ecossistema .NET com este curso completo sobre CQRS (Command Query Responsibility Segregation) e Event Sourcing. Você aprenderá a separar operações de leitura e escrita, modelar o estado da aplicação como uma sequência de eventos e construir sistemas resilientes e auditáveis.
Com o uso do MediatR, biblioteca fundamental no .NET, você implementará pipelines de Commands e Queries com handlers desacoplados, behaviors para validação e logging, e notificações para comunicação entre componentes. O curso aborda também a integração com bancos de dados como EventStoreDB e PostgreSQL, e como publicar eventos de domínio de forma confiável com o Outbox Pattern.
Ao final, você será capaz de projetar e construir sistemas empresariais complexos utilizando os padrões CQRS e Event Sourcing em projetos reais com .NET 8, garantindo escalabilidade, rastreabilidade completa e uma arquitetura limpa e sustentável.
Conteúdo do curso
Módulo 1: Fundamentos de CQRS e MediatR no .NET
Aprenda os conceitos centrais do padrão CQRS e como implementá-lo com a biblioteca MediatR no .NET 8, criando Commands, Queries, Handlers e Pipeline Behaviors.
- O que é CQRS e por que usar (18 min)
- O que é CQRS e por que usar (15 min)
- Instalando e configurando o MediatR no .NET 8 (20 min)
- Criando Commands e Command Handlers (25 min)
- Criando Queries e Query Handlers (22 min)
- Pipeline Behaviors: Validação com FluentValidation (25 min)
- Pipeline Behaviors: Logging e Performance (20 min)
- Notifications e Domain Events com MediatR (22 min)
Módulo 2: Event Sourcing: Conceitos e Modelagem de Eventos
Compreenda os fundamentos do Event Sourcing, aprenda a modelar eventos de domínio, trabalhar com Aggregates orientados a eventos e entender projeções e read models.
- O que é Event Sourcing e como funciona (20 min)
- Diferenças entre Event Sourcing e CRUD (18 min)
- Modelando eventos de domínio (22 min)
- Aggregates e Event Store: conceitos e implementação base (25 min)
- Snapshots: otimizando a reconstrução de estado (20 min)
- Projeções e Read Models no Event Sourcing (22 min)
- Eventual Consistency e estratégias de compensação (20 min)
Módulo 3: EventStoreDB: Implementação Prática
Configure e utilize o EventStoreDB como armazenamento de eventos, implemente Aggregates com Event Sourcing, gerencie streams, crie projeções persistentes e processe eventos em tempo real com subscriptions.
- Introducao ao EventStoreDB (15 min)
- Configurando EventStoreDB com Docker (20 min)
- Ciclo completo: Command Handler com EventStoreDB (25 min)
- Projecoes persistentes no EventStoreDB (22 min)
- Subscriptions: processando eventos em tempo real (22 min)
- Gerenciando streams, metadados e versionamento (18 min)
- Testes de integracao com EventStoreDB (20 min)
Módulo 4: CQRS + Event Sourcing com PostgreSQL e Outbox Pattern
Implemente Event Sourcing usando PostgreSQL como Event Store, separe bancos de leitura e escrita, sincronize Read Models com eventos e garanta publicação confiável usando o Outbox Pattern.
- Arquitetura: Event Sourcing com PostgreSQL como Event Store (25 min)
- Implementando o Event Store com EF Core e PostgreSQL (28 min)
- Separando Read Database e Write Database (22 min)
- Outbox Pattern: publicacao garantida de eventos (25 min)
- Idempotencia e deduplicacao de eventos (20 min)
- Sincronizando Read Models com projections handlers (22 min)
Módulo 5: Projeto Final: Sistema de Gestão de Pedidos com CQRS e Event Sourcing
Construa do zero um sistema completo de gestão de pedidos aplicando todos os padrões do curso: CQRS com MediatR, Event Sourcing com PostgreSQL, Outbox Pattern, testes automatizados e observabilidade.
- Projeto Final: Visao geral e estrutura do sistema (20 min)
- Implementando o Aggregate Order completo (30 min)
- Implementando Commands, Queries e Projections (30 min)
- Infraestrutura: PostgreSQL Event Store e Outbox Worker (28 min)
- Testes completos: unitarios, integracao e observabilidade (28 min)
- Deploy com Docker e consideracoes de producao (22 min)
- Projeto Git: estrutura completa de arquivos para download (15 min)