Por que es necesaria una interfaz para aplicar la inyección de dependencia? Que pasaría si no la ponemos?

Pregunta de la clase:
Inyección de dependencias
Cayo Legal

Cayo Legal

Pregunta
student
hace 4 años

Por que es necesaria una interfaz para aplicar la inyección de dependencia? Que pasaría si no la ponemos?

2 respuestas
    Miguel Teheran

    Miguel Teheran

    teacher
    hace 4 años

    Recuerda que si no usas tipos abstractos te toca tocaria cambiar todos los tipos si necesitas reemplazarlo en cambio con una interfaz solo debees cambiar la implementación sin alterar el código. Por ejemplo:

    public class ServicioAzure public class ServicioAWS

    Si te toca cambiar de Azure a AWS por un requerimiento te toca ir y cambiar todo el codigo que use ese servicio y renombrar de ServicioAzure a ServicioAWS en cambio si usas interfaces

    interface IServicioNube public class ServicioAzure : IServicioNube public class ServicioAWS: IServicioNube

    Simplemente ambos servicios implementan la misma interfaz y tu código depende de un componente generico llamado IServicioNube que puede tener multiples implementaciones.

    Las interfaces son necesarias para poder aplicar patrones de diseño y lograr hacer pruebas unitarias

    Javier Sevillano

    Javier Sevillano

    student
    hace 3 años

    Hola Miguel. Puedo entender que la inyección de dependencia hace que una clase no implemente un objeto de una clase específica sino que implemente la inferfaz, como en el ejemplo que mencionas.

    Esto se debería de usar en todas las clases donde estemos implementando otras clases adentro, pero si tengo una api de un sistema grande, donde hayan muchísimas clases donde varias de ellas implementen otras clases, se volvería algo muy grande.

Curso de APIs con .NET

Curso de APIs con .NET

Construye tus propias APIs con .NET desde conceptos básicos como REST, manejo de middlewares, hasta conexión con bases de datos reales usando Entity Framework. Implementa servicios y controladores siguiendo mejores prácticas.

Curso de APIs con .NET
Curso de APIs con .NET

Curso de APIs con .NET

Construye tus propias APIs con .NET desde conceptos básicos como REST, manejo de middlewares, hasta conexión con bases de datos reales usando Entity Framework. Implementa servicios y controladores siguiendo mejores prácticas.