Detailed description
La clase UserServiceImpl accede directamente a la base de datos utilizando DBUtil.getConnection(). Esto representa una fuerte dependencia a abstracciones, lo que impide reutilizar la clase, dificulta las pruebas unitarias y genera un acoplamiento innecesario entre la lógica de negocio y la persistencia.
Context
Solución:
Poner una interfaz IUserRepository que define las operaciones necesarias para autenticación y registro de usuarios. Crear una clase JDBCUserRepository que encapsule el acceso a la base de datos.
UserServiceImpl reciba una instancia de IUserRepository por inyección, cumpliendo así con el principio.
Possible implementation
No response
Additional information
No response