Skip to content

wesleyfariasdev/dotnet-cache-examplo

Repository files navigation

Fluxo de Criação de Produto (CQRS + Decorator + Redis)

┌──────────────┐       ┌──────────────┐       ┌───────────────────────┐
│   Controller │──────▶│   MediatR     │──────▶│ CreateProdutoHandler  │
└──────────────┘       └──────────────┘       └──────────────┬────────┘
                                                             │
                                                             │ injeta
                                                             ▼
                                              ┌──────────────────────────┐
                                              │ IProdutoRepository        │
                                              │ (Decorator registrado)    │
                                              └──────────────┬───────────┘
                                                             │
                                                             │ chama internamente
                                                             ▼
                                ┌─────────────────────────────────────────────┐
                                │ ProdutoRepositoryCacheDecorator              │
                                │   - Atualiza cache Redis                     │
                                │   - Encaminha operação ao repositório real   │
                                └─────────────────┬───────────────────────────┘
                                                  │
                                                  │ chama
                                                  ▼
                                ┌─────────────────────────────────────────────┐
                                │ ProdutoRepository                           │
                                │   - Usa EF Core                             │
                                │   - Salva no banco SQL                       │
                                └─────────────────┬───────────────────────────┘
                                                  │
                                                  │ commit
                                                  ▼
                                ┌─────────────────────────────────────────────┐
                                │ UnitOfWork                                   │
                                │   - SaveChangesAsync                         │
                                │   - CommitAsync transaction                  │
                                └─────────────────────────────────────────────┘

About

Arquitetura Limpa com CQRS MediatR e caching distribuído.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published