Capítulo 8. Eventos e o barramento de mensagens
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Até agora gastámos muito tempo e energia num problema simples que poderíamos facilmente ter resolvido com Django. Podes estar a perguntar-te se o aumento da testabilidade e expressividade valem realmente todo o esforço.
Na prática, no entanto, descobrimos que não são as caraterísticas óbvias que fazem uma bagunça nas nossas bases de código: é a gosma à volta da borda. São os relatórios, as permissões e os fluxos de trabalho que tocam um zilião de objectos.
O nosso exemplo será um requisito de notificação típico: quando não podemos atribuir uma encomenda por falta de stock, devemos alertar a equipa de compras. Eles vão resolver o problema comprando mais stock e tudo ficará bem.
Para uma primeira versão, o proprietário do produto diz que podemos simplesmente enviar o alerta por correio eletrónico.
Vamos ver como a nossa arquitetura se comporta quando precisamos de ligar algumas das coisas mundanas que constituem grande parte dos nossos sistemas.
Começamos por fazer a coisa mais simples e mais rápida e falamos sobre a razão pela qual é exatamente este tipo de decisão que nos leva à Grande Bola de Lama.
Então mostraremos como usar o padrão Domain Events para separar efeitos colaterais de nossos casos de uso, e como usar um simples padrão Message Bus para disparar comportamentos baseados nesses eventos. Mostraremos algumas ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access