🧠 CQRS & Event Sourcing in Angular – Macht oder Mythos?
CQRS (Command Query Responsibility Segregation) und Event Sourcing gehören zu den mächtigsten Architekturmustern – aber sie gelten auch als komplex, unnötig oder gar "übertrieben".
👉 In diesem Beitrag zeige ich dir:
- Wann CQRS & Event Sourcing Sinn machen
- Wie du sie in Angular umsetzen kannst (ja, wirklich!)
- Und wann du besser die Finger davon lässt
⚔️ Was ist CQRS?
CQRS trennt Lesen und Schreiben.
Statt ein Service mit get()
und save()
zu mischen, baust du zwei Pfade:
- ✅ Commands = Änderungen (z. B.
createUser
,updateProduct
) - ✅ Queries = Lesefunktionen (z. B.
getAllUsers
,getProductById
)
Warum?
➡ Mehr Klarheit, bessere Skalierung, gezieltes Optimieren von Lese-/Schreibpfaden.
🌀 Was ist Event Sourcing?
Statt nur den letzten Zustand zu speichern, speicherst du alle Änderungen als Events.
[UserCreated] → [NameUpdated] → [EmailChanged]
→ Aggregation → aktueller Zustand
Der Vorteil: Du kannst jederzeit zurück in der Zeit springen oder die Vergangenheit analysieren.
🧩 Beispiel in Angular (vereinfacht)
// command-handler.ts
export class UpdateUserCommand {
constructor(public readonly id: string, public readonly name: string) {}
}
export class UpdateUserHandler {
handle(cmd: UpdateUserCommand) {
return this.eventBus.publish({ type: 'UserUpdated', data: { ...cmd } });
}
}
// query-handler.ts
export class GetUserQuery {
constructor(public readonly id: string) {}
}
export class GetUserHandler {
handle(query: GetUserQuery) {
return this.db.selectUserById(query.id);
}
}
Ja – du kannst dafür Services nutzen oder die Architektur mit Angular Dependency Injection und Signals kombinieren.
🔍 Wann sinnvoll?
- ✅ Wenn du viele Schreiboperationen mit Seiteneffekten hast
- ✅ Bei komplexen Business-Regeln
- ✅ Wenn du Audits / Historie / Rückverfolgbarkeit brauchst
- ✅ In Microfrontend-Szenarien mit Event-Bus oder EventStore
❌ Wann übertrieben?
- ❌ Wenn deine App 3 CRUD-Tabellen und 1 Login hat
- ❌ Wenn du kein starkes Domain-Modell brauchst
- ❌ Wenn du es nur machst, weil es cool klingt
🧠 Fazit
CQRS & Event Sourcing sind kein Mythos – aber auch kein Allheilmittel.
Sie sind Werkzeuge für Domänen mit komplexem Verhalten, wo Zustand, Nachvollziehbarkeit und Skalierbarkeit wichtig sind.
📍 Nächster Beitrag: 📦 Domain-Driven Design in Angular – Die Kunst der Klarheit
👉 Folge dem Blog, wenn du Architektur wie ein echter Pro meistern willst.
Hast du Fragen oder ein Projekt im Kopf?
Ich freue mich auf deine Nachricht. Lass uns gemeinsam deine Vision verwirklichen!
Jetzt Kontakt aufnehmen