Dado que etiquetó su pregunta con "CQRS", supongo que se refiere a eventos en un contexto de "CQRS y búsqueda de eventos", como se describe aquí . En este tutorial , la diferencia entre eventos y comandos está bien explicada:
los eventos capturan las "cosas que pueden suceder" elementales en su sistema, desde el punto de vista del sistema.
los comandos se definen por lo que el usuario considera como una operación, desde su punto de vista
Y aunque esto a menudo conduce a un par de comandos y eventos con una correspondencia 1: 1, estos puntos de vista diferentes pueden conducir a comandos que disparan más de un evento, o diferentes eventos dependiendo de los parámetros del comando. Incluso puedo imaginar casos en los que un comando no genera un evento en absoluto, pero ese sería un caso muy excepcional, no muy típico.
Por ejemplo, el tutorial menciona eventos
- TabAbierto
- Bebidas ordenadas
- Alimentos ordenados
y comandos
Aquí, el comando "OpenTab" conducirá a un evento "TabOpened", pero el comando PlaceOrder llevará a los eventos "DrinksOrdered", "FoodOrdered", o ambos.
De hecho, si está diseñando un nuevo sistema "desde cero", puede intentar diseñarlo con una correspondencia 1: 1 entre comandos y eventos y ver qué tan bien se escala cuando el sistema se hace más grande. Incluso puede probar un enfoque híbrido: una lista de eventos y comandos con una correspondencia 1: 1, junto con algunos comandos combinados adicionales. Simplemente pruebe qué tan lejos lo lleva al sistema particular que está diseñando.