Ich bin neu bei DDD und habe nur in Transaction-Script-Apps mit einem anämischen Modell oder nur in Big Balls of Mud gearbeitet. Bitte verzeihen Sie mir jede Terminologie, die ich missbrauche.
Ich versuche, die richtige Trennung zwischen dem Domänenmodell und dem Repository zu verstehen. Was ist der richtige Weg, um ein Domänenobjekt zu erstellen, das aus einer Datenbank stammt, vorausgesetzt, dass (unglaublich vereinfacht) Objekte nach Status (Rückgabe enumerable
) oder ID abgefragt werden müssen .
- Sollte eine Fabrik die Objekte erstellen, Methoden für
GetByStatus()
undGetByID()
unter Verwendung eines DIed-Repositorys verfügbar machen? - Sollte ein Repository direkt aufgerufen werden und wissen, wie ein Domänenmodell aus dem DTO erstellt wird?
- Sollte das Domänenmodell einen Konstruktor zum Abrufen der ID haben, der ein DIed-Repoistory verwendet, um den Anfangszustand zu laden, und eine andere (?) Methode für die Liste verwendet?
Ich bin mir nicht sicher, was der beste Weg wäre, und diese Frage hat eine Antwort, die jeden befürwortet (diese sind sicherlich gegenseitig exklusiv).