Ich habe eine Entität namens Master, die sich aus einer Reihe von Slave-Entitäten zusammensetzt.
Es kann nur einen Master in meiner Datenbank geben, und ich möchte Repositorys abfragen, um den Slave für eine bestimmte ID abzurufen.
Ich habe zunächst ein SlaveRepository erstellt und dieses nach id abgefragt. Das scheint in Ordnung zu sein und funktioniert und andere Entwickler könnten mein Repository verwenden.
Dann dachte ich über aggregierte Wurzeln nach und erstellte ein MasterRepository und gab den Master zurück und machte dann eine Schleife, um die erforderliche Slave-Entität zu erhalten. Das Problem, das ich hier hatte, ist, dass ich, sobald ich dies anderen Entwicklern zur Verfügung stelle, dasselbe tun müsste. Ich habe also eine Methode im MasterRepository namens GetSlaveByID (Zeichenfolgen-ID) und dann könnte ich den Slave direkt abrufen (verbirgt die Schleifenfunktionalität) ).
Sollte mein Repository nun einen Slave zurückgeben, obwohl er als MasterRepository bezeichnet wird? Und was noch wichtiger ist, welcher ist der richtige Weg?
Ich bin in den frühen Stadien des Versuchs, DDD und TDD anzuwenden, daher gibt es wahrscheinlich viele Dinge, über die ich nachdenken muss, bevor ich mich für die richtige Art und Weise entscheide.