Event Sourcing

Introdução

A idéia é armazenar os eventos gerados pelo domínio e que, mais tarde, será reconstruído o estado atual do objeto em questão.

Conceito

Salvando objetos

  1. Criar um evento para cada estado do objeto
    1. BankAccountCreated (id: 123 owner: John Doe)
    2. DepositPerformed (accountId: 123 amount: 20USD)
    3. OwnerChanged (accountId: 123 newOwnerId: 234)
    4. WithdrawalPerformed (accountId: 123 amount: 10USD)
  2. Deve-se preservar a ordem dos eventos

 

Framework

  1. Eventuate – Solução que provê um modelo de programação orientada a eventos.
    1. Fonte: http://eventuate.io/

Exemplos

  1. https://github.com/cer/event-sourcing-examples

 

 

Leave a Reply