Frage

Wie Ereignis Sourcing kann mit verschiedenen Arten von Dictionary-Objekten wie Country kombiniert werden, Region, Time Zone usw. und Dictionary-Typen von bestimmtem Domänenmodell wie Budget oder Availability Definitionen. Einige von Dictionary-Objekten sollten zu bearbeiten im Admin-UI, aber einige nicht möglich.

Zum Beispiel haben wir uns entschieden, dass wir Admin-UI nicht für Länder benötigen. So brauchen wir nicht AddCountry / RemoveCountry Befehle zu implementieren.

Should i erzeugen von CountryAdded Ereignisse gesetzt heißt should i-Dictionary-Objekte als Strom der Ereignisse bestehen? Haben wir jemals Quelle der Wahrheit anderen dann Ereignisstrom verwenden?


Falls ich ohne Ereignisstrom für Dictionary-Objekte gehen kann, wie Sie dieses Problem lösen:

  

Display Liste der Länder mit der   Anzahl der Benutzer in jedem Land.

In diesem Fall ich brauche Darstellung Country Objekte im Lese Modell mit Hörern für UserAdded Ereignis.

Danke.

War es hilfreich?

Lösung

Wenn Sie Ereignis Sourcing als Persistenzmechanismus verwenden, dann:

  • Ereignisstrom ist die einzige Quelle der Wahrheit (Objekt erzeugte Momentaufnahmen aus Ereignisstrom verwendet werden könnte, um die Leistung zu verbessern, aber sie sind nur die Technik).
  • Wenn Sie Ereignis Sourcing verwenden, brauchen Sie keine Veranstaltung explizit zu generieren - nur die tatsächlichen Ereignisse erzeugt veröffentlichen, während der Befehlsverarbeitung
  • .
  • Wenn Sie eine vordefinierte Liste von Ländern, die zu ändern nie gehen sind, können Sie nur schwer Code und Referenz sie durch ihre Ländercodes. Allerdings bedeutet dies, dass View-Modell und UI wissen, dass und Länder sind nicht zu ändern.

BTW empfehle ich Fragen wie diese DDD / CQRS Gruppe veröffentlichen. Es ist die aktivste Community auf die Fragen der CQRS / DDD / ES.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top