Pro:Vor- und Nachteile von DDD-Repositorys
- Repositorys verstecken komplexe Abfragen.
- Repository-Methoden können als Transaktionsgrenzen verwendet werden.
- ORM-Frameworks bietet bereits eine Sammlung wie Schnittstelle zu persistenten Objekten, was ist die Absicht von Endlagern:
- ORM leicht
Cons verspottet werden. So fügen Repositories dem System zusätzliche Komplexität hinzu.
- kombinatorische Explosion bei Verwendung von findBy Methoden. Diese Methoden können mit Kriterienobjekten, Abfragen oder Beispielobjekten vermieden werden. Dazu ist kein Repository erforderlich, da ein ORM diese Möglichkeiten zum Suchen von Objekten bereits unterstützt.
- Da Repositories eine Sammlung von Aggregatwurzeln (im Sinne von DDD) sind, müssen Aggregatwurzeln erstellt und weitergegeben werden, selbst wenn nur ein untergeordnetes Objekt geändert wird.
Fragen:
- Welche Vor- und Nachteile kennen Sie?
- Würden Sie die Verwendung von Repositories empfehlen? (Warum oder warum nicht?)
Kontrastierende ORMs mit Repositories sind nicht wirklich sinnvoll - Sie verwenden ORMs, um Repositories zu implementieren, nicht? –
Keine definitive Antwort. Community Wiki? –
Ihre dritte Con macht keinen Sinn. Wenn Sie ein "untergeordnetes Objekt" eigenständig bearbeiten müssen, sollte es sich um eine aggregierte Wurzel handeln. –