Principio de INVERSIÓN DE DEPENDENCIAS 🔃 - Principios SOLID

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 พ.ย. 2024

ความคิดเห็น • 26

  • @NetMentor
    @NetMentor  4 ปีที่แล้ว +2

    Blog: www.netmentor.es/Entrada/solid-principio-inversion-dependencias
    twitter: twitter.com/NetMentorTW

  • @luisalamo2658
    @luisalamo2658 2 ปีที่แล้ว

    Excelente! llevo muchos años trabajando con Java, pero he encontrado de lujo este material en español con C# y me he animado con este lenguaje. Recomendo ampliamente tu canal a mis colegas.

  • @ManuelRBercian
    @ManuelRBercian 2 ปีที่แล้ว +1

    Excelentemente explicado, felicitaciones.

  • @beatriztriz619
    @beatriztriz619 4 ปีที่แล้ว +2

    Éste es el mejor vídeo de Inversión de Dependencias que he visto. Muy bien explicado. Gracias!

  • @codermate82
    @codermate82 2 ปีที่แล้ว

    Muy buen video! Muchas gracias por compartir tus conocimientos de una manera tan clara.

  • @limalopez100
    @limalopez100 2 ปีที่แล้ว

    Muy util! gracias

  • @nahuelosman11
    @nahuelosman11 2 ปีที่แล้ว

    Muy buen video! saludos

  • @AMV-CreatorMotion
    @AMV-CreatorMotion 3 ปีที่แล้ว

    Execelente video! muy bien explicado! 😁 seria interesante ver un video de autofac en NetCore! que es, que función cumple y como hacerlo en codigo!

    • @NetMentor
      @NetMentor  3 ปีที่แล้ว

      Me alegro de que te guste el vídeo! Sinceramente no hay ningún motivo ni benefico en utilizar autofac en vez del del contenedor de dependencias que viene con el lenguaje, así que sobre eso no voy a hacer vídeo, un saludo
      Edit: aquí tengo la explicación del contenedor de dependencias que viene con c# www.netmentor.es/entrada/inyeccion-dependencias-scoped-transient-singleton

    • @AMV-CreatorMotion
      @AMV-CreatorMotion 3 ปีที่แล้ว

      @@NetMentor Genial! gracias por contestar! y para saber un poco mas en cuanto a tu criterio, en net framework que usarías autofac, ninject o alguna otra ? preferencia o beneficios sobre las otras, te agradezco desde ya!

    • @NetMentor
      @NetMentor  3 ปีที่แล้ว +1

      @@AMV-CreatorMotion ufff net framework... yo diría que autofac es más popular y desde luego la comunidad detras (arreglando bugs, etc) es mejor, asi que probablemente autofac sea la mejor opción.
      Pero la mejor de las opciones es migrar a .NET 5 😂

  • @reynaldo1x
    @reynaldo1x 4 ปีที่แล้ว +1

    buena!.

  • @IsaacRoblesMX
    @IsaacRoblesMX 3 ปีที่แล้ว

    Justo esto es lo que estaba buscando!! Solo tengo una pregunta, si tengo una clase en la que ademas de pasar sus dependencias en el constructor debo pasar un string (o cualquier otro dato primitivo) como lo haria?

    • @NetMentor
      @NetMentor  3 ปีที่แล้ว +2

      Hola! cuando utilizas inyección de dependencias puedes instanciar directamente las clases. por ejemplo, en vez de hacer
      services.addscoped()
      puedes instanciar el tipo haciendo lo siguiente:
      services.addscoped(x=> new Tuclase(Tustring))
      y en caso de que neceistes algun servicio adicional puedes hacer uso de la lamba expression (a la que te da acceso x)
      services.addscoped(x=> new Tuclase(Tustring. x.GetService))
      Cualquier duda me comentas, un saludo!

  • @lucianootegui4778
    @lucianootegui4778 3 ปีที่แล้ว +1

    Excelente video!! Como todos los del canal!
    Te queria hacer una consulta NetMentor.
    Tengo una biblioteca de clases de net core que estoy usando en un proyecto webapi.
    Tengo que inyectar una clase A de esta biblioteca la cual recibe una clase de configuración.
    El problema es que no encuentro la manera de cuando la inyecto en el proyecto de web api pasarle correctamente ese parametro cuando lo inyecto ya que cuando ejecuto y llega a esa clase dice que lo que recibe es null.
    Estoy usando IOptions para bindear la configuración del json a una clase de configuración. Y esto es lo que le tengo que pasar a esa clase de la DLL.
    Que me recomiendas hacer en este caso?
    O cual es la mejor manera de pasar parametros (requeridos en s constructor) a una clase que esta dentro de una dll , respetando la inyección e inversión de dependencias.

    • @NetMentor
      @NetMentor  3 ปีที่แล้ว

      Hola
      sin saber que libreria es
      pues tienes dos opciones, puedes inyectar IOptions si no me equivoco (hace que no lo uso mucho tiempo)
      y la segunda es services.AddScoped(AquíUnMetodoQueTeDevuelvaLaClase).
      Como digo son las dos formas que se me ocurren, pero me extraña mucho que no tengas un builder dentro de esa libreria que te permita hacerlo de una forma facil.

    • @lucianootegui4778
      @lucianootegui4778 3 ปีที่แล้ว

      @@NetMentor logré inyectarlo correctamente con IOptions, el cual la clase de la libreria espera el mismo.
      Y desde el webapi realizo la inyección y la configuración del options haciendo que la libreria tomes el valor del mismo.
      No se si es la mejor forma de hacerlo pero se esta respetando la inyección de dependencias correctamente
      Muchas gracias por la ayuda!
      Una duda, con un builder dentro de la libreria a que te referias concretamente?

    • @NetMentor
      @NetMentor  3 ปีที่แล้ว

      @@lucianootegui4778 Me alegro qeu encontraras la respuesta, lo del builder es que muchas librerias tienen algo asi como
      services.AddLIbreria(configuracion)
      o
      services.AddLIbreria().ADdConfiguracion(Configuracion)

    • @lucianootegui4778
      @lucianootegui4778 3 ปีที่แล้ว

      @@NetMentor claro entiendo, esta es una libreria que estoy haciendo yo, por eso no tiene ese builder, debería buscar la manera de hacer algo asi como decis, un builder propio para esa dll, podrias orientarme como?
      Deberia ser un extensión method haciendo referencia al IServiceCollection?

    • @NetMentor
      @NetMentor  3 ปีที่แล้ว +1

      Si básicamente un extensión method the IServiceCollection y le pasas la configuración como parámetro

  • @Cristian-wx5yp
    @Cristian-wx5yp 3 ปีที่แล้ว

    Hola, tengo una duda, cree un proyecto para winform con el patrón MVC. Hay algún ejemplo en tu canal para integrar el principio solid en el patron mvc?

    • @NetMentor
      @NetMentor  3 ปีที่แล้ว

      Hola!
      Solid debe ser implementado siempe sin importar el patrón o lenguaje.
      de todas formas, si te refieres a la inversión de dependencias en winforms dependera si estas en netcore o en net framework.
      En netcore (o net 5) necesitas instlar el paquete `microsfot.extensions.hosting` el cual proporciona un builder para las dependencias.
      Desgraciadamente no tengo ni idea si es posible hacer algo similar en .net framework
      Un saludo.

    • @Cristian-wx5yp
      @Cristian-wx5yp 3 ปีที่แล้ว

      @@NetMentor gracias por tu respuesta. Te consulto, algún curso en udemy que me puedas recomendar sobre estos temas en winform mvc y solid?

    • @NetMentor
      @NetMentor  3 ปีที่แล้ว

      @@Cristian-wx5yp Hola, desafortunadamente no te puedo decir ningún curso ya que yo personalmente no he realizado ninguno :(
      lo siento

  • @enriqueruiz320
    @enriqueruiz320 3 ปีที่แล้ว +1

    🤪