Capítulo 10. Comandos y manejador de comandos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

En el capítulo anterior, hablamos de utilizar eventos como forma de representar las entradas a nuestro sistema, y convertimos nuestra aplicación en una máquina de procesar mensajes.

Para conseguirlo, convertimos todas nuestras funciones de casos de uso en manejadores de eventos. Cuando la API recibe un POST para crear un nuevo lote, crea un nuevo evento BatchCreatedy lo maneja como si fuera un evento interno. Esto puede parecer contradictorio. Al fin y al cabo, el lote aún no se ha creado; para eso hemos llamado a la API. Vamos a arreglar esa verruga conceptual introduciendo comandos y mostrando cómo pueden ser manejados por el mismo bus de mensajes, pero con reglas ligeramente diferentes.

Consejo

El código de este capítulo está en la rama chapter_10_commands de GitHub:

git clone https://github.com/cosmicpython/code.git
cd code
git checkout chapter_10_commands
# or to code along, checkout the previous chapter:
git checkout chapter_09_all_messagebus

Comandos y Eventos

Al igual que los eventos, las órdenes son un tipo de mensaje: instrucciones enviadas por una parte de un sistema a otra. Normalmente representamos las órdenes con estructuras de datos tontas y podemos manejarlas de forma muy parecida a los sucesos.

Sin embargo, las diferencias entre órdenes y acontecimientos son importantes.

Los comandos son enviados por ...

Get Patrones de Arquitectura con Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.