/ / DDD- und Event-Sourcing: Änderungen am Griff - Java-ee, domänengesteuertes Design, Event-Sourcing

DDD- und Event-Sourcing: Änderungen am Griff - Java-ee, domänengesteuertes Design, Event-Sourcing

Ich habe über Event Sourcing und DDD gelesenfür ein paar Wochen. Also muss ich eine allgegenwärtige Sprache erstellen. Was heißt das genau? Ich muss eine Bibliothek erstellen, die einige Domänenklassen definiert.

Ich hätte also eine erstellt mydomain-language-artifact.jar Artefakt und es sollte von meinen Diensten verwendet werden A und B.

  1. Was genau sollte dieses Artefakt enthalten? Domänenklassen (Order, OrderLine, Customer ...).
  2. Sollte es enthalten Event, Value Objects oder Aggregates Klassen?

Ich denke, alles funktioniert gut, und mein Domain-Modell ändert sich. Customer hat eine neue alias Feld. Das heißt, ich sollte meine ändern mydomain-language-artifact.jar Hinzufügen dieser Änderung am Customer Klasse, nicht wahr?

Es bedeutet also wahrscheinlich Events, Value Objects und Aggregates wird sich auch ändern. Wahrscheinlich, CustomerAddedEvent wird ein enthalten alias Feld. Wie sieht es also mit dem im Event Store gespeicherten durchdringenden Ereignis aus? Wie kann ich sie wiederholen und mein System neu aufbauen?

Antworten:

2 für die Antwort № 1

Die allgegenwärtige Sprache ist das, was Sie brauchen identifizieren indem Sie mit dem Domain-Experten sprechen. In diesem Moment lernst du DDD sehr falsch, weil du es wie ein Rezept behandelst.

Der Zweck von DDD besteht darin, die Domänenfunktionalität zu verstehen, indem Anwendungsfälle, Konzepte und Beziehungen, relevante Modelle usw. identifiziert werden Information Nur, dass wir uns weiter mit den taktischen Mustern von DDD organisieren.

Es geht nicht darum, Domänenklassen zu schreiben, das zeigtdass Ihre Denkweise noch weit davon entfernt ist, was DDD bedeutet. Ich habe 5 Jahre gebraucht, um DDD zu bekommen. Erwarten Sie nicht, dass es in 2-3 Wochen durch das Lesen von 1-2 Büchern "gelernt" wird wo DDD endet.

Gleiches gilt für Event Sourcing. Leicht verständlicher ist zwar in gewisser Weise an DDD gekoppelt, da diese Domänenereignisse ordnungsgemäß ausgeführt werden müssen identifiziert .

Sie "stellen viele allgemeine Fragen, die nicht wirklich beantwortet werden können, denn es kommt darauf an ... Was DDD besonders macht, ist, dass wir uns darauf konzentrieren Besonderheiten von Fall zu Fall.

ich schrieb viel über DDD, insbesondere über die Denkweise, die verstanden werden muss. Ich hoffe es wird dir helfen.