DEV Community

Discussion on: Patrón Repositorio (Repository Pattern) y Unidad de Trabajo (Unit Of Work) en ASP.NET Core WebApi 3.0

Collapse
 
edgargonzalo_m profile image
Edgar Gonzalo

Excelente post Eduardo, muchas gracias por compartir esta información...
Realmente había estado buscando un post que explicará bien a detalle estos temas, sin embargo, solo encontraba puras fugas de información.

Me interesa mucho el tema, pues deseo cambiar las estructuras de mis proyectos, al leer tu post me di cuenta de alguna cosas que me hacían falta comprender bien, y algo que no me ha dejado dormir es lo que comentaste en las conclusiones...

"no es del todo necesario en estos días envolver Entity Framework Core en un patrón de Unidad de Trabajo, porque básicamente se está envolviendo una abstracción sobre una abstracción..."

¿Quieres decir que no es necesario usar UnitOfWork?
¿Entonces qué buena practica recomiendas para omitirlo o simplemente así como tal no usarlo?

De ante mano, muchas gracias nuevamente.

Collapse
 
ebarrioscode profile image
Eduardo Barrios

Hola Edgar de nada, con respecto a tu pregunta ¿Quieres decir que no es necesario usar UnitOfWork? yo te diría que no es necesario pero tampoco significa que no se pueda o deba hacer, todo depende de que necesitas y como prefieres atacar un problema, ya que si tu quieres desacoplar tus componentes para facilitar el desarrollo de pruebas unitarias y aprovechar la separación de responsabilidades adelante hazlo, y si no lo haces será muy difícil o casi imposible probar componentes y también seria ineficiente tener controllers con mucho código lo cuál también tendría como consecuencia que no podrías reutilizar código debido a que no esta centralizado.
En respuesta a esta pregunta.
¿Entonces qué buena practica recomiendas para omitirlo o simplemente así como tal no usarlo? todo depende del escenario en el que estés y que es lo que necesitas resolver, el patrón Repository y Unit Of Work son buenas prácticas, personalmente los utilizo para proyectos en producción y todo va bien en cuanto a escalabilidad, rendimiento y otros factores, pero existen infinidad de buenas prácticas que puedes combinar y ajustar según tus necesidades. Espero te sirva mi respuesta, saludos.