Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Inversión de control y el patrón de inyección de dependencias

7/31
Recursos

Aportes 12

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

¿Qué es inversión de control?

Ventajas

  • Desacoplamiento.
  • Segregación de interfaces.
  • Fácil testing.
  • Mayor modularidad.

¿Qué es inyección de dependencias?

Patrón que utiliza inversión de control para utilizar las dependencias inicializadas con el contenedor Spring.

Qué es un bean? Un bean básicamente son módulos desarrollados en Spring estos se encargan de brindarnos toda la lógica que necesitamos para nuestra aplicación. Ejemplo: Si necesitamos referenciar que nuestra clase es un modelo hacemos uso de el bean @entity . Esto nos permite usar propiedades creadas para este tipo de modulo que nos agilizan nuestro desarrollo. Al hacer inversión de control nosotros al llamar esos beans lo que hacemos es referenciar módulos funcionales creados por spring. Spring boot nos facilita el fácil instanciamiento de estos a nuestra aplicación, haciendo todo por nosotros…

Hay 3 formas de aplicar la inyeccion de dependencias:
-Por medio de atributo
-Por medio de metodos sets
-El mas famoso es por medio de constructor.

Un Bean es una única instancia que se crea al inicio de la ejecución del programa y puede ser usada en otras clases llamándola con @Autowired (aquí le decimos “dependencia”), también se puede llamar en el constructor de la clase y el mismo framework hace la “magia” de ir por ella sin necesidad de nosotros pararle la instancia en el constructor cuando usemos la clase.

Quizás a alguien le sirva, a mi gusto resume bastante bien esta clase: https://es.quora.com/Qué-es-Spring-Beans

Por si alguien quiere profundizar más de este tema recomiendo este video donde se explica muy bien el concepto de inversión de control: https://www.youtube.com/watch?v=-Cs1HN6pEg4&list=PLU8oAlHdN5Blq85GIxtKjIXdfHPksV_Hm&index=6

  • Inversion de control IoC
    • Se refiere a la transferencia del control del flujo de un programa a un contenedor o framework.
      • En un website o una app móvil el contenedor sería el usuario.
    • Ventajas
      • Facil testing por componentes o mocks de dependencias.
      • Mayor modularización.
      • Desacoplamiento cuando lo objetos cuentan con sus dependencias.
      • Segmentación de interfaces.
    • IoC en el contexto de spring boot
      • Los objetos que son administrados por el contenedor, spring boot los denomina beans. Un bean seria los objetos administrados por el usuario en un website.
      • Un bean es un objeto el cual es instanciado, ensamblado y administrado por el contenedor de spring IoC.
  • Patron de inyección de dependencias
    • Es el patrón que utiliza IoC para utilizar las dependencias anteriormente instanciadas por el contenedor de spring.

“La inyección de dependencias es la implementación de Inversión de Control”

Pues si esta un poco complejo pero interesante para entender la aplicación que se le puede dar la orientación a objetos.

Este vídeo me ayudó a entender mejor la inversión de control y el patrón de inyección de dependencias:
https://www.youtube.com/watch?v=gGkeH38XMLk

Este articulo me parece excelente para enteder lo que se ve en esta clase y posteriores
https://dev.to/cchacin/inyeccion-de-dependencias-en-java-44cg?signin=true

¿Qué es inyección de dependencias?
patrón de diseño orientado a objetos, su fin es el de suministrar objetos a una clase sin que la propia clase tenga que crearlos.