Junior
¿Para qué sirve la inyección de dependencias en el desarrollo en C#?
sobes.tech AI
Respuesta de la IA
La inyección de dependencias (DI) en C# se utiliza para gestionar las dependencias entre clases, lo que aumenta la flexibilidad y la capacidad de prueba del código.
Objetivos principales de DI:
- Debilitar el acoplamiento: las clases no crean sus dependencias directamente, sino que las reciben desde fuera.
- Simplificar las pruebas: es fácil reemplazar las dependencias por mocks o stubs.
- Mejorar la mantenibilidad: cambiar la implementación de una dependencia no requiere modificar el código que la usa.
Ejemplo:
public interface ILogger { void Log(string message); }
public class ConsoleLogger : ILogger {
public void Log(string message) => Console.WriteLine(message);
}
public class UserService {
private readonly ILogger _logger;
public UserService(ILogger logger) {
_logger = logger;
}
public void CreateUser(string name) {
// lógica de creación de usuario
_logger.Log($"Usuario {name} creado.");
}
}
// Inyección de dependencia
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
De esta manera, DI favorece la inversión de control (IoC) y mejora la arquitectura de la aplicación.