Junior — Middle
¿Qué enfoques y técnicas garantizan el cumplimiento del principio de inversión de dependencias en el diseño del sistema?
sobes.tech AI
Respuesta de la IA
El principio de inversión de dependencias (Dependency Inversion Principle) en el diseño de sistemas se logra mediante los siguientes enfoques y técnicas:
- Uso de abstracciones en lugar de implementaciones concretas. Las clases deben depender de interfaces o clases abstractas, no de clases concretas.
- Inyección de dependencias (Dependency Injection). Las dependencias se pasan a la clase desde fuera (a través del constructor, propiedades o métodos), y no se crean dentro de ella.
- Inversión de control (IoC). El control sobre la creación y vinculación de objetos se transfiere a un contenedor o marco externo.
Ejemplo en C# con inyección de dependencias:
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; // dependencia pasada desde fuera
}
public void CreateUser(string name)
{
// lógica para crear usuario
_logger.Log($"Usuario {name} creado.");
}
}
Este enfoque facilita las pruebas, la extensibilidad y el mantenimiento del código.