1. O documento discute event sourcing, uma arquitetura orientada a eventos onde o estado de uma aplicação é reconstruído a partir de uma série de eventos passados.
2. Event sourcing oferece vantagens como consistência, capacidade de reprocessar eventos, e separação de dados e comportamento.
3. No entanto, event sourcing também apresenta desafios como curva de aprendizado, necessidade de consistência eventual e complexidade.
14. Impedance Mismatch
One might say Databases are from Mars and Objects
are from Venus. Databases do not map naturally to
object models. It’s a lot like trying to push the north
poles of two magnets together.
— Phil Haack
15. $data !== $behavior
→ Linguagem onipresente
→ Foco nos processos de negócio
→ Rich Domain Model
→ Projeções específicas para
cada necessidade
23. Orientado a objetos
class ShoppingCart
{
use EventSourcing;
private $items = [];
public function addItem(CartItem $item) : void
{
$this->recordThat(ItemAddedToCart::occur($item));
}
public function whenItemAdded(ItemAddedToCart $event) : void
{
$this->items[] = $event->item();
}
}
24. Prooph
→ Suporte para EventStore, PostgreSQL, MySQL,
MongoDB...
→ Event Engine para RAD
→ Documentação
!
→ Comunidade tope!
→ http://getprooph.org