Como você marcou sua pergunta com "CQRS", acho que você quer dizer eventos em um contexto "CQRS e fornecimento de eventos", como descrito aqui . Em deste tutorial , a diferença entre os eventos e comandos é bem explicado:
eventos capturam as "coisas que podem acontecer" elementares em seu sistema, do ponto de vista do sistema.
comandos são definidos pelo que o usuário considera uma operação, do seu ponto de vista
E embora isso geralmente leve a alguns comandos e eventos com uma correspondência 1: 1, esses diferentes pontos de vista podem levar a comandos que disparam mais de um evento ou a eventos diferentes, dependendo dos parâmetros de comando. Posso até imaginar casos em que um comando não gera um evento, mas esse seria um caso muito excepcional, não muito típico.
Por exemplo, o tutorial menciona eventos
- TabOpened
- Bebidas
- FoodOrdered
e comandos
Aqui, o comando "OpenTab" levará a um evento "TabOpened", mas o comando PlaceOrder levará aos eventos "DrinksOrdered", "FoodOrdered" ou ambos.
De fato, se você estiver projetando um novo sistema "do zero", tente projetá-lo com uma correspondência 1: 1 entre comandos e eventos e veja quão bem isso é dimensionado quando o sistema se torna maior. Você pode até tentar uma abordagem híbrida: uma lista de eventos e comandos com uma correspondência 1: 1, juntamente com alguns comandos adicionais combinados. Apenas tente até que ponto isso o leva para o sistema específico que você está projetando.