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.
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
@@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!
@@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 😂
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?
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!
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.
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.
@@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?
@@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)
@@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?
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?
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.
Blog: www.netmentor.es/Entrada/solid-principio-inversion-dependencias
twitter: twitter.com/NetMentorTW
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.
Excelentemente explicado, felicitaciones.
Éste es el mejor vídeo de Inversión de Dependencias que he visto. Muy bien explicado. Gracias!
Muy buen video! Muchas gracias por compartir tus conocimientos de una manera tan clara.
Muy util! gracias
Muy buen video! saludos
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!
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
@@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!
@@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 😂
buena!.
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?
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!
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.
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.
@@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?
@@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)
@@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?
Si básicamente un extensión method the IServiceCollection y le pasas la configuración como parámetro
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?
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.
@@NetMentor gracias por tu respuesta. Te consulto, algún curso en udemy que me puedas recomendar sobre estos temas en winform mvc y solid?
@@Cristian-wx5yp Hola, desafortunadamente no te puedo decir ningún curso ya que yo personalmente no he realizado ninguno :(
lo siento
🤪