Sobes.tech
Junior — Middle

¿Puedes explicar el concepto de inyección de dependencias y cómo se aplica en el desarrollo de software?

sobes.tech AI

Respuesta de la IA

La inyección de dependencias (Dependency Injection, DI) es un patrón de diseño en el que los objetos obtienen sus dependencias desde fuera, en lugar de crearlas por sí mismos. Esto mejora la modularidad, la capacidad de prueba y la flexibilidad del código.

Ejemplo: en lugar de que la clase cree un objeto de base de datos por sí misma, lo recibe a través del constructor o un setter.

class Database:
    def query(self):
        return "datos"

class Service:
    def __init__(self, db: Database):
        self.db = db

    def get_data(self):
        return self.db.query()

# Inyección de dependencia
database = Database()
service = Service(database)
print(service.get_data())

Este enfoque facilita la sustitución de dependencias (por ejemplo, con mocks en pruebas) y mejora el mantenimiento del código.