¿Qué es la Inyección de Dependencias? - EJEMPLO PRÁCTICO

Поделиться
HTML-код
  • Опубликовано: 2 сен 2021
  • ¿Qué es la inyección de dependencias y por qué es tan importante? Si miras este video hasta el final aprenderás en menos de 15 minutos una de las técnica más utilizadas por programadores Seniors de todo el mundo.
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    💥ME ENCUENTRAS TAMBIÉN AQUÍ 👇
    Sitio Web ►thecodercave.com/
    Twitter ► / cavecoder
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    💻 CURSOS PREMIUM 👇
    🚀Curso Completo de C# desde Cero ► bit.ly/3jLyIv4
    🚀Curso de C# Práctico en 15 Proyectos ► bit.ly/3uUqCaR
    🚀Curso de C# en el Backend - API Mastery ► bit.ly/3lJLZdB
    🔥 Curso Completo de Blazor desde Cero ► bit.ly/38DtZXz
    🔥 Blazor Ultimate: Domina Blazor en 4 Proyectos ► bit.ly/3xbAtbA
    👉Curso Práctico de SQL para principiantes ►bit.ly/2R6KVOX
    📚 Curso de GIT y Github para Principiantes ► bit.ly/30Fbhz4
    Descuento del 60% en todos mis cursos 👉 thecodercave.com/descuento/
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    📚 RECURSOS RECOMENDADOS 👇
    🔥GANA EN DÓLARES desde Latinoamérica y emigra a cualquier parte del mundo.
    Talently ► bit.ly/3miVyNQ
    ¿QUIERES APRENDER INGLÉS?👇
    Italki ► $10 de regalo con tu primera compra
    👉 go.italki.com/TheCoderCaveesp
    Busuu ► App gratis con descuento para su sección Premium
    👉www.dpbolvw.net/click-1003128...
    Dominios ► Namecheap: 👇
    👉 www.kqzyfj.com/8h117p-85-7NPO...
    Hosting ► Bluehost: 👇
    👉 www.bluehost.com/track/gabmor...
    Nota: Los links en la descripción son links de afiliado, lo que significa que recibiré una pequeña comisión si te registras usando esos links sin ningún costo extra para ti. Todos los links de afiliados son productos o servicios en los que creo y uso personalmente.
    Music from filmmusic.io
    "Blippy Trance" by Kevin MacLeod (incompetech.com)
    License: CC BY (creativecommons.org/licenses/b...)
  • НаукаНаука

Комментарии • 82

  • @javierhofer521
    @javierhofer521 2 года назад +8

    sos el que mejores ejemplos y explicaciones das para los que usamos .Net, muchas gracias!!

  • @edwinroman30
    @edwinroman30 2 года назад +14

    Una idea para el próximo video podría ser la explicación del patrón repositorio, explicas muy bien estos tópicos. Saludos 🙋🏻‍♂️

  • @rodrigo-hs8tn
    @rodrigo-hs8tn 2 года назад +11

    Excelente video! Gracias por enseñar de forma tan practica, breve y efectiva. Saludos!

  • @javierherediaruiz6076
    @javierherediaruiz6076 2 года назад +4

    Excelente explicación. Podría afirmar que la mas clara, concreta y concisa que he visto a través de un ejemplo real de Inyección de dependencía. Te has ganado un nuevo suscriptor jejejej. Sigue así !!!!

  • @hernanlazarte271
    @hernanlazarte271 2 года назад +1

    Muy claro el ejemplo! Genial. Muchas gracias por la explicación! Saludos!

  • @eduinivanvillalbaruiz2782
    @eduinivanvillalbaruiz2782 3 месяца назад +1

    Muy bien, es lo que necesitaba

  • @daybit5746
    @daybit5746 2 года назад

    Excelente explicacion y ejemplos usados, muchas gracias.

  • @luis96xd
    @luis96xd 2 года назад

    Excelente video, muy bien explicado, gracias!

  • @miguel900030
    @miguel900030 2 года назад +1

    Una explicación muy clara 👍

  • @jhonphileppereyesflores6968
    @jhonphileppereyesflores6968 Год назад

    Muy buen video, buena explicación y muy agradecido por el aporte.

  • @alejandronarmona3121
    @alejandronarmona3121 2 года назад

    Muy bien explicado! Felicitaciones!

  • @morelias
    @morelias 2 года назад

    Excelente video, aprendí tal cual como lo describes!!!!

  • @thedevdudeyt
    @thedevdudeyt Год назад

    wow qué fácil o qué bien se entiende con esta explicación tan clara muchas gracias The Code Cave.

  • @walterrodriguez2696
    @walterrodriguez2696 9 месяцев назад

    Muy bueno! gracias por la explicación

  • @col_yom
    @col_yom 10 месяцев назад +2

    Genial explicación, complementaria a los principios SOLID explicado por vos. Soy javaloper y pude pasar todo a Java

  • @agustinaguirre9673
    @agustinaguirre9673 2 года назад

    Excelente video, muchas gracias. Me quedo todo claro.

  • @yeshua5581
    @yeshua5581 9 месяцев назад

    Muy conciso el video, muchas gracias

  • @GabrielGongoraNavarrete
    @GabrielGongoraNavarrete 7 месяцев назад

    Excelente, muy bien explicado

  • @daniel-24gra79
    @daniel-24gra79 3 месяца назад

    mil gracias que buena explicacion

  • @ilianostapovich4378
    @ilianostapovich4378 Год назад

    Muy buen tuto, rapido y clarito

  • @saulaxes
    @saulaxes 11 месяцев назад

    excelente explicación, felicidades!!

  • @cesarcubillos7098
    @cesarcubillos7098 9 месяцев назад

    Muy claro, por fin lo entendí, muchas gracias ;)

  • @tonycarrbcnxxx
    @tonycarrbcnxxx 11 месяцев назад

    Brutal, eres grande, gracias por todo.

  • @abelromeroruiz5702
    @abelromeroruiz5702 2 года назад

    muy buen video lo entendí a la perfección

  • @juario_ok
    @juario_ok 2 года назад +1

    Muy bueno!

  • @anthonyalvavasquez9736
    @anthonyalvavasquez9736 2 года назад

    👏🏽👏🏽👏🏽 Excelente explicación

  • @LorenzoJimenez
    @LorenzoJimenez 6 месяцев назад

    Pasé todo el proyecto a JavaScript y funcionó a la primera después de las obvias modificaciones. Muchas gracias.

  • @adrianspinetta
    @adrianspinetta 2 года назад +1

    Excelente.

  • @Alan-pz9gf
    @Alan-pz9gf 6 месяцев назад

    Excelente explicación, wow

  • @emanuel2097
    @emanuel2097 2 года назад

    Excelente!!

  • @francoortega8881
    @francoortega8881 2 года назад +2

    Conciso y claro. Excelente!

  • @SergioTorres71
    @SergioTorres71 2 года назад

    Por fin entiendo la inyección de dependencias, muchas gracias!

  • @samuelsaravia7621
    @samuelsaravia7621 10 месяцев назад

    Buenísimo !!!!

  • @dhardysd
    @dhardysd 10 месяцев назад

    Genio 🎉 🙌

  • @ale_gallardo
    @ale_gallardo 2 года назад

    Gracias bro!

  • @leonardoramirez8226
    @leonardoramirez8226 9 месяцев назад

    Excelente.!!

  • @agustinlevental7488
    @agustinlevental7488 Год назад

    excelente video!

  • @eduarsanchez1851
    @eduarsanchez1851 Год назад

    Excelente contenido

  • @SrTemas
    @SrTemas Месяц назад

    muy buen video!

  • @carlosalberti
    @carlosalberti Год назад

    excelente video

  • @ReaverZ3r0
    @ReaverZ3r0 Год назад

    Muchas gracias por la explicación, cosa que aplicaba pero no sabia su nombre...

  • @lalokura1000
    @lalokura1000 2 года назад +1

    Gracias Maestro, esperamos Singleton siguiendo este ejemplo

  • @hernandezgomx466
    @hernandezgomx466 2 года назад

    eres grande!

  • @matiasvillamarin1719
    @matiasvillamarin1719 2 года назад +1

    Muy bien explicado. Gracias!!!

  • @risingforce9648
    @risingforce9648 Год назад

    copado!

  • @jhonmora9099
    @jhonmora9099 13 дней назад

    Me gusto mucho tu explicación, aunque tengo una duda agradecería si me ayuda a aclararla: que diferencias tendría con el patrón estrategia?, ya que su implementación la vería de la misma forma

  • @brianross1972
    @brianross1972 7 месяцев назад

    sos un fenomeno

  • @einsteinvalenzuela6757
    @einsteinvalenzuela6757 2 года назад

    Excelente! (Y)

  • @eliasvazquez9599
    @eliasvazquez9599 Год назад +2

    Muy buena explicación. En pocos minutos y de forma clara, resolviste una duda que tenía desde hace tiempo. Hay mucha calidad en tus videos. Gracias!

  • @ginogrecor
    @ginogrecor 2 года назад +1

    Gracias excelente video

  • @eduardocarrot6040
    @eduardocarrot6040 2 года назад

    wooow! 🤯

  • @ferduzi007
    @ferduzi007 Год назад

    Bien explicado, me pareció muy rápido en algunos puntos pero el punto fue conciso.

  • @alexorihuela1297
    @alexorihuela1297 Год назад +1

    Muy buen video, podrías compartir el código original y final para prácticar por favor?

  • @alexislunas
    @alexislunas Год назад

    la verdad me perdi en la mitad del video :C. pero muy buenos videos siempre me ayudas!

  • @rodyfernandez
    @rodyfernandez Год назад

    💚

  • @guilhermenogueiradasilva166
    @guilhermenogueiradasilva166 Год назад

    Bro al final del vídeo dices que vas a dejar en la descripción el link del siguiente vídeo pero no lo encuentro por ninguna parte

  • @edwinroman30
    @edwinroman30 2 года назад

    Buen contenido, una pregunta: ¿Por qué en la asignación que se realiza en los constructores no se le coloca "new" como nueva instancia?

    • @lordbacchusofwraiths
      @lordbacchusofwraiths 2 года назад +5

      Porque recibe el objeto por parámetros en el constructor, no tiene que crear un nuevo objeto.

  • @williamprogramer4168
    @williamprogramer4168 2 года назад

    ⭐⭐⭐⭐⭐

  • @FernandoZamudioC
    @FernandoZamudioC 2 года назад +2

    Las interfaces son en principio un contrato el cual obliga al momento de "heredar" que la clase cumpla el contrato o sea implemente cada uno de esos metodos creados, que haga lo q quiera pero q lo cumpla, esta es la base de la inyeccion de dependencia pero mi pregunta... la interface obliga a crear como MINIMO lo q ella posee lo cual permite crear otras cosas adicionales pregunto.... al crear otras cosas adicionales, esto NO impide la inyeccion ? digo si cumplo con el contrato basico pero le pongo otras cosas adicionales esto no romperia la capacidad de inyectar ? espero haberme explicado

    • @juliancavallo
      @juliancavallo 2 года назад

      Hola Fernando, no habría problema en ese caso, se puede hacer la inyección sin problemas ya que en definitiva estás cumpliendo con la interface

    • @josemanuelgomez901
      @josemanuelgomez901 2 года назад

      No, pero estarías obligado a implementar los otros métodos de la interface aunque no los uses en una clase en concreto, el principio de segregación de interfaces soluciona este problema.

  • @hexagerard
    @hexagerard Год назад

    Excelente video! Pero no será mejor incluir alguna lógica para poder elegir si se quiere hacer la conexión y/o usar un método diferente de envío de mensajes sin tener que cambiar las clases en el código?

    • @rodrigoseverianogarcia6059
      @rodrigoseverianogarcia6059 Год назад

      Obviamente pero lo que se quiere tratar en este video es la finalidad de la inyección de dependencias, que es desacoplar las clases. En este caso sigue "manteniendo" los dos proveedores pero lo normal seria que únicamente quede uno ya que seria el "remplazo"

  • @FernandoZamudioC
    @FernandoZamudioC 2 года назад

    Una interface es un contrato que pide que se cumpla como mínimo lo q dice El contrato al momento de implementar en la clase pero puedes hacerlo más grande agregar otros métodos ahora bien al inyectar dependencias estos objetivos pueden tener métodos adicionales al del contrato y seguir funcionando al ser inyectada ?

    • @antonioclavero6747
      @antonioclavero6747 2 года назад

      Si, la clase puede tener métodos adicionales y van a seguir funcionando con normalidad, pero dicha clase si o si tiene que implementar lo que pide la interface.

    • @noaxhellio6871
      @noaxhellio6871 Год назад

      Sí, puedes inyectarlos sin ningún problema. El detalle es cuando quieras utilizar esas funcionalidades extras desde la instancia de la interfaz, para eso tienes que hacer un parse.

  • @luzclarke6333
    @luzclarke6333 4 месяца назад

    Capas

  • @tecnologiademexico.325
    @tecnologiademexico.325 Год назад +1

    Muy buen vídeo.

  • @LorenzoJimenez
    @LorenzoJimenez 6 месяцев назад

    Para mí, lo más difícil de entender es que al CommunicationService y CustomerService se le manda un objecto cualquiera, y lo único es que debe garantizar es el interfaz, o sea, tener la función que se usará. Muchas gracias.

  • @luismaestro23
    @luismaestro23 Год назад +2

    Osea lo que hace la inyeccion de dependencias, es mandar toda la responsabilidad de instanciar objetos, a la clase principal xd? osea a la clase main en este ejemplo

  • @marcosvitaliable
    @marcosvitaliable 2 года назад +2

    Teoria confuso, la inyeccion de dependencias no deriva de la inversion de independencias de echo son conceptos diferentes, asi que es que salen los prgramadores que a todo le meten interfaces, cuando invertir la dependencia no tiene ningun sentido. Por ejemplo en DDD un aplication service que colabora con un domain service no invierte nunca la dependencia por que no tiene sentido de echo esta mal, en ese caso solo se inyecta.

  • @Ak4n0
    @Ak4n0 10 месяцев назад

    Básicamente es usar interfaces.

  • @ntrpause
    @ntrpause 9 месяцев назад

    quiero volverme bueno en C#

  • @laesponjaloca123
    @laesponjaloca123 2 года назад

    Clarísima explicación *clap clap clap

  • @EmprendeTI
    @EmprendeTI Год назад

    creo que me confundió mas...

  • @Lic.CristianSguazzin
    @Lic.CristianSguazzin 2 года назад +1

    Lamento decir que no es correcto, justamente el nombre lo indica, INYECTAR una dependencia es enviar por contructor un objeto del cual depende. De por si, existe una dependencia fuerte cuando mostrás el primer ejemplo donde hace un new dentro del constructor, puede bajarse esa dependencia inyectándola. Aun así, en un UML se podría apreciar tal dependencia. Sin embargo; inversión de dependencia es hacer que el UML se vea de la siguiente manera CLASE === "depende de una abstracción" ===> INTERFAZ o CLASE ABSTRACTA Clase_De_la_cual_depende.
    En fin, aconsejo mejorar esa teoría o corregir dicho tutorial para no propagar un mal concepto.
    Gran abrazo ! ! ! .