Angenommen, Sie haben zwei Aggregate in Ihrem beschränkten Kontext, die untereinander einige Einschränkungen haben. Unter Verwendung von DDD können diese Inter-Aggregat-Constraints nicht in derselben Transaktion erzwungen werden, d.h. die Aggregatgrenzen sind Transaktionsgrenzen.Eventuelle Konsistenz über Aggregatwurzeln im selben beschränkten Kontext mit einem Prozessmanager alias saga
Würden Sie in Betracht ziehen, was in der Microsoft CQRS-Reise als "Prozessmanager" zum Koordinieren von zwei Aggregaten im selben beschränkten Kontext oder als Prozessmanager nur zum Koordinieren zwischen zwei beschränkten Kontexten verwendet wird? Was wäre das Äquivalent eines Prozessmanagers, der zwei oder mehr Aggregatwurzeln im selben beschränkten Kontext koordiniert?
+1. Gute Antwort. Ich würde nicht so weit gehen zu sagen, dass ein AR selbst eine BC definiert, aber völlig mit allem anderen übereinstimmt. –
Dies ist eine gute Antwort, aber überspitzt einen Punkt. Nur um zu verdeutlichen: Ein begrenzter Kontext ist eine _Modell_Begrenzung, keine Aggregat- oder Objektgrenze (vgl. Seite 8 der [DDD-Referenz] (http://domainlanguage.com/ddd/patterns/DDD_Reference_2011-01-31.pdf) Das Zusammenfassen von Aggregat und Objekt mit begrenztem Kontext ist zu reduktionistisch Ein Modell in einem beschränkten Kontext besteht typischerweise aus mehreren Aggregaten –
Sowohl ein Objekt als auch ein Aggregatstamm (als Fassade eines Aggregats) definieren explizite Grenzen für ein * some * -Modell Jedes BC ist nur eine Gruppe kleinerer BCs, ich weiß, dass es BC um BC auf höherer Ebene geht, aber selbst das niedrige Objekt stimmt mit der Definition des beschränkten Kontextes überein. Dies beweist nur, dass das Konzept von DDD sogar im Object level.Vielleicht ist das der Grund, warum einige Leute sagen, dass DDD nur OOP richtig gemacht wurde. – MikeSW