Pro:Pro e contro di DDD Repository
- Repositories nascondere query complesse.
- I metodi di deposito possono essere utilizzati come limiti di transazione.
- ORM può essere facilmente deriso
Contro:
- framework ORM offrono già una collezione come l'interfaccia per gli oggetti persistenti, qual è l'intenzione di repository. Quindi gli archivi aggiungono complessità extra al sistema.
- esplosione combinatoria quando si utilizzano i metodi findBy. Questi metodi possono essere evitati con oggetti Criteria, query o oggetti di esempio. Ma per farlo non è necessario alcun repository perché un ORM già supporta questi modi per trovare oggetti.
- Poiché i repository sono una raccolta di radici aggregate (nel senso di DDD), è necessario creare e passare le radici aggregate anche se viene modificato solo un oggetto figlio.
Domande:
- Quali pro e contro lo sai?
- Consiglieresti di utilizzare i repository? (Perché o perché no?)
Gli ORM a contrasto con repository non hanno senso - si utilizzano gli ORM per implementare i repository, no? –
Nessuna risposta definitiva. Wiki della comunità? –
Il tuo terzo cono non ha senso. Se hai bisogno di manipolare un "oggetto figlio" da solo, dovrebbe essere una radice aggregata. –