Frage

Ich bin gerade in DDD die ersten Schritte, und ich einige Probleme, herauszufinden, wie die relationale Natur meiner Daten aufzunehmen. Ich habe, was ich glaube, dass meine Aggregat Wurzel kommt in Betracht, aber das Aggregat auch ein Aggregat von seiner eigenen. Viele wollen nicht das Gesetz der Demeter zu verletzen, ich frage mich, wenn ich über diese falsch denke und hoffe, dass einige DDD Experten einen Einblick bieten können.

Meine Aggregat Wurzel ist mein Account Objekt, das sich aus den zahlreichen AccountElement Einheiten hat, die sich logische Gruppierungen von einzelnen ProductComponent Einheiten sind.

Ein AccountElement außerhalb des Kontexts eines Account hat keine Bedeutung, so bin ich mit meiner Schlussfolgerung komfortabel, dass das Account Objekt meine Aggregat Wurzel ist, und Ich gehe davon aus, dass Unternehmen ein Aggregat Elements Eigenschaft. Es ist die ProductComponent Sammlung, die mich verwirrt hat. Dieses Aggregat hat keine Bedeutung außerhalb eines AccountElement und wirklich hat keine Bedeutung außerhalb eines Account.

Ich glaube nicht, dass ich meine Art und Weise individuelle ProductComponent Objekte zugreifen sollte es durch Punktierung, wie:

var reference = account.Elements(0).ProductComponents(0).ReferenceCode;

Aber zur gleichen Zeit macht es keinen Sinn (aus einer Domäne Perspektive) ein ProductComponent direkt von einer Account Einheit zugreifen zu können.

Ich bin sicher, dass dies alles ein wenig schwierig ist, ohne Wissen meiner Domain zu verstehen, aber ich hoffe, es ist genug, um etwas gutes Feedback zu erhalten.

War es hilfreich?

Lösung

Der Artikel Robert verknüpft ist gut. Ich mochte noch hinzufügen, dass, wenn ProductComponent existiert nur im Rahmen von AccountElement und AccountElement existiert nur im Zusammenhang mit dem Konto, dann durch Erweiterung ProductComponent ist im Zusammenhang mit dem Konto.

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