DDD Summit 2020
Das große Trainingsevent für Domain-driven Design
8. - 10. Juni in München

Entwurf und Implementierung von Aggregates mit Event Sourcing Teil 1

Workshop
Infos
Mittwoch, 10. Juni 2020
10:00 - 13:00

Event-Sourcing erhält in letzter Zeit viel Aufmerksamkeit, obwohl es beileibe kein neues Architekturpattern ist. Der grundlegende Ansatz, die Änderungen anstatt des aktuellen Zustandes zu speichern, wird seit geraumer Zeit z.B. in der Buchhaltung verwendet. Im Computerzeitalter kommt es unter anderem in den "binlogs" von Datenbanken oder bei GIT zum Einsatz.

Zu den Vorteilen dieses Patterns im Vergleich zu klassischen "Stateful Models" zählen unter anderem:

* leichtere Änderbarkeit des "Code-Models" ohne Datenbankmigration
* Experimente mit alternativen Models
* ein simples Datenbankmodell, das ohne ORM auskommt
* neue Möglichkeiten des Debuggings
* Models mit zeitbasiertem Verhalten
* Auditing

In unserem Workshop werden wir:

* Die Grundlagen von CQRS erklären, da Event-Sourcing ohne CQRS kaum möglich ist
* Erklären, was ein "Aggregate" tatsächlich ist
* Ein kleines Aggregate mittels Event-Sourcing von Grunde auf implementieren, inklusive einiger "Events", "Commands" und "Value Objects"
* Unsere Grundlage dafür wird des Ergebnis einer (fiktiven) "Event Storming" Session sein
* Wir werden dabei "test driven" (TDD) arbeiten, um nur zu implementieren, was auch wirklich benötigt wird

Voraussetzungen:

  • Die Teilnehmer des Workshops sollten ein Grundverständnis taktischer Patterns aus Domain-driven Design mitbringen: Value Object, Event, Command, Entitiy und Aggregate
  •  Der Workshop ist grundsätzlich unabhängig von Programmiersprachen
  • Die Coaches können: Golang, Java, C# und PHP und haben ein Grundverständnis funktionaler Programmierung
  • Die Teilnehmer sollten einen Laptop mit ihrer liebsten IDE und einem installierten Unit Test Framework mitbringen
  • Pair-Programming mit anderen Teilnehmern ist selbstverständlich auch möglich