Event Sourcing
Architecture 🔴 SeniorDefinition
Stocke l'etat comme une sequence immuable d'evenements plutot que comme l'etat courant. L'etat se reconstruit en rejouant les evenements.
Analogie
Un releve bancaire : tu ne stockes pas le solde, mais l'historique de toutes les transactions.
Exemple de code
const events = [
{ type: 'AccountOpened', balance: 0 },
{ type: 'MoneyDeposited', amount: 100 },
{ type: 'MoneyWithdrawn', amount: 30 },
];
const balance = events.reduce(applyEvent, 0); // 70
Cas d'usage
Audit trail complet, systemes financiers, undo/redo, debug temporel.
Anti-pattern
Evenements mutables ou supprimes — on perd la propriete d'immutabilite.