Muster zum Entwerfen einer flexiblen Architektur in node.js (CQRS / ES / Onion)

In diesem Beitrag habe ich ein Projekt vorgestellt, das CQRS- und Event-Sourcing-Muster verwendet. Es ist in Zwiebelarchitektur organisiert und mit TypeScript geschrieben.

"Flexibel" wie?

Ich verwende den Begriff "flexibel", um eine Architektur zu fördern, die sich an unterschiedliche Umgebungen anpassen kann. Genauer gesagt versuche ich Folgendes:

  • Trennen Sie die Kerngeschäftslogik von den Implementierungsdetails
  • unabhängig von Datenbanken, Frameworks oder Diensten sein
  • Verwenden Sie nach Möglichkeit einfache reine Funktionen
  • das Projekt einfach horizontal skalieren
  • Machen Sie das Projekt einfach zu testen
  • Verwenden Sie das Typsystem in erster Linie, um die „allgegenwärtige Sprache“ der Kerndomäne zu kommunizieren

Update: Dieser Beitrag wurde in meinen eigenen Blog verschoben. Sie können es hier lesen:
Muster zum Entwerfen einer flexiblen Architektur in node.js (CQRS / ES / Onion)