text: Event Sourcing – Wikipedia
  Command-Query-Responsibility-Segregation mit Event Sourcing
  Event Sourcing (ES)[1] ist ein Verfahren, bei dem alle Veränderungen des Zustands einer Softwareanwendung als Sequenz von Events abgebildet und aufgezeichnet werden.[2] Event Sourcing wird zu den Analysemustern gezählt.
  1 Mögliche Implementierung mit einem ESB
  Mögliche Implementierung mit einem ESB[Bearbeiten | Quelltext bearbeiten]
  Funktionen bzw. Methoden werden zunächst gemäß dem CQS-Prinzip nach Queries und Commands aufgeteilt. Commands werden an einen Enterprise Service Bus (ESB) geleitet. Falls der Command Handler das Command erfolgreich behandeln kann, wird ein Event erzeugt.
  Alle Events werden von einem Event Store aufgezeichnet. Hierbei kommen Datenbankensysteme zum Einsatz. Alternativ kann direkt in das Dateisystem von Festplatten geschrieben werden, was eine höhere Streaming-Performance aufweist als Datenbanken.
  Der Einsatz eines Event Stores bietet den Vorteil, dass alle Änderungen am System jederzeit durch eine Wiederholung der Events deterministisch nachgestellt werden können. Dies bietet Vorteile bei der Nachvollziehbarkeit, etwa aus rechtlichen Gründen oder im Debugging. Um die Performance bei der Wiederherstellung eines gegebenen Zustandes zu erhöhen, werden in regelmäßigen Abständen Snapshots des aktuellen Zustands durchgeführt.
  Für die einzelnen Events werden am ESB Event-Handler registriert, welche z. B. Zustandsänderungen an denormalisierten Datenbanken durchführen, E-Mails versenden oder Fehler protokollieren.
  Einfache Anpassung an veränderte Business-Anforderungen
  Nachvollziehbarkeit, da alle Änderungen aufgezeichnet werden
  Jederzeit nachträgliche Datenanalyse möglich
  Deterministische Fehleranalyse möglich
  Unpassend, wenn der Status wichtiger ist als die Events
  CQRS Journey. In: patterns & practices, MSDN. Microsoft, Juli 2012, abgerufen am 13. Juli 2014 (englisch, Tutorial zu CQRS und Event Sourcing in C#).
  Lev Gorodinski: Domain-Driven Design, Event Sourcing and CQRS with F# and EventStore. In: YouTube. DC F# Meetup, 6. März 2014, abgerufen am 13. Juli 2014 (englisch, CQRS und EventSourcing in F#).