Voltar para lista

13 de 13 visíveis

Arquitetura selecionada

CQRS no Frontend

CQRS no frontend diferencia comandos que alteram estado de consultas que montam telas. A UI passa a ter modelos de leitura otimizados e comandos explícitos para ações do usuário.

Navegue pelos arquivos para ver como a arquitetura aparece no código.

CQRS no Frontend

Caminhosrc/app/queries/order-summary.query.ts

export class OrderSummaryQuery {
  execute(orderId: string) {
    return this.http.get<OrderSummaryView>(`/orders/${orderId}/summary`);
  }
}

Prós

  • Clareia ações que mudam estado versus telas de consulta.
  • Permite modelos de leitura mais simples para a UI.
  • Ajuda a lidar com fluxos assíncronos e consistência eventual.

Contras

  • Pode duplicar modelos e aumentar manutenção.
  • Exige cuidado para não transformar tudo em comando/query sem necessidade.
  • Combina melhor quando backend ou domínio já seguem separação parecida.

Quando usar

  • Interfaces com muitas ações de negócio.
  • Dashboards com leituras agregadas e comandos críticos.
  • Produtos que precisam rastrear intenções do usuário.

Exemplo real

Uma tela de pedidos com consultas otimizadas para visualização e comandos para cancelar, pagar ou reenviar.

Cenário prático

A página carrega `OrderSummaryQuery` para exibir dados agregados e usa `CancelOrderCommand` quando o usuário confirma cancelamento.

Como implementar

  • Crie queries para modelos de leitura otimizados para telas.
  • Crie commands para ações que alteram estado ou disparam fluxos.
  • Modele feedback de comando: loading, sucesso, falha e atualização da leitura.

Cuidado comum

Separar leitura e escrita em telas simples pode duplicar código sem resolver um problema real.