Este repositório demonstra a implementação de uma plataforma simples de blog usando o ASP.NET Core com foco no CQRS (segregação de responsabilidade de consulta de comando) e padrões de mediatr. O aplicativo inclui operações básicas de CRUD para postagens e categorias, aderindo a uma abordagem de arquitetura limpa.
O padrão CQRS é empregado para separar operações de leitura e gravação, aprimorando a escalabilidade e a manutenção do aplicativo. As consultas são usadas para lidar com operações de leitura, enquanto os comandos lidam com operações de gravação.
O Mediatr é usado para dissociar as camadas de aplicação implementando o padrão mediador. Isso garante que os pedidos e notificações sejam processados através de um mediador central, promovendo o acoplamento solto e a adesão ao princípio de responsabilidade única.
O núcleo da estrutura da entidade é utilizado como o ORM (Mapper Relacional de Objetos) para operações de banco de dados. O contexto está configurado para usar o SQL Server com opções para incluir entidades relacionadas quando necessário.
O AutomApper é integrado para lidar com o mapeamento de objetos-objeto, simplificando a transformação entre os modelos de domínio e os modelos de exibição.
Contém as entidades e interfaces principais, incluindo:
Post , CategoryIAsyncRepository , IPostRepositoryContém a lógica de negócios, incluindo:
CreatePostCommand - Define os dados e a lógica necessários para criar uma nova postagem.GetPostsListQuery - define os dados e a lógica necessários para recuperar uma lista de postagens.Contém a implementação do padrão de repositório usando o núcleo da estrutura da entidade, incluindo:
PostDb .IAsyncRepository e IPostRepository .O ponto de entrada do aplicativo, contendo controladores e a configuração principal do programa. Ele configura serviços, middleware e roteamento.
O fluentValidação é usado para garantir a lógica de integridade e validação dos dados para comandos.