Ich versuche, das Repository-Muster für mein aktuelles Projekt zu verwenden, und ich versuche gerade, die Domäne zu modellieren und die aggregierten Wurzeln zu finden.Aggregatwurzeln. Wie weit reicht das Kaninchenloch?
Ich habe gelesen von der 'Cascading Delete' Regel, die besagt, dass wenn es nicht sinnvoll ist, ein Mitglied zu löschen, wenn der Stamm gelöscht wird, sollte es nicht Teil des Stammes sein.
Ich werde einen Polizei Vorfall als eample verwenden: -
Incident (Aggregat root) - Diese Offiziere untersuchen enthalten könnte, die von jedem Offizier machte sich Notizen. Es könnte auch Verdächtige mit einer Liste von Daten enthalten, die interviewt wurden. Wurde CCTV-Material für den Vorfall erhalten? Ein Protokoll jedes Mal, wenn die CCTV angesehen wurde und von wem? Wurden Kopien von der CCTV für Beweise/Gericht usw.
Es scheint, wie die IncidentAggregate könnte riesig werden, da es scheint, dass alles hängt an diesem Vorfall.
Meine Frage ist zweifach, wie viel sollte die aggregierte Wurzel verwalten und sind Wurzeln in den Wurzeln eine gute Idee?
Dies ist vielleicht kein besonders gutes Beispiel, da Sie wahrscheinlich nie etwas wie einen Polizeivorfall entfernen würden, aber ich hoffe, dass es meine Frage besser beschreibt.