Articles of dependencia inyección

Usar la dependency injection sin ninguna biblioteca DI

Soy nuevo en Repository y DI y trato de implementarlo en mi proyecto MVC 5. Implementé Constructor Injection donde en mi controlador tiene un constructor como este: IBook _ibook; public Test(IBook ibook) { _ibook = ibook; } Sin ninguna biblioteca DI, arroja un error: no hay un constructor vacío. Para evitar esto, agregué un constructor […]

El patrón de tarta con tipo abstracto primordial no funciona con Upper Type Bounds

Quiero anular el tipo abstracto en el rasgo con <: y no con = (como la respuesta aquí Scala Upper Bounds: el valor no es un miembro del parámetro tipo ). Quiero usar patrón de pastel, pero esto no funciona, no entiendo por qué? trait A { def ping = println(“ping”) } trait Cake { […]

IoC / Dependency Injection: explique el código en lugar de XML

Entiendo básicamente cómo funcionan los marcos de IoC, sin embargo, una cosa que no entiendo es cómo se supone que funciona la configuración basada en código. Con XML entiendo cómo puede agregar un nuevo ensamblaje a una aplicación desplegada, luego cambie la configuración en XML para incluirlo. Si la aplicación ya está implementada (es decir, […]

Inyección de dependencia: nueva instancia requerida en varios métodos de clases

Tengo un código que se ve así: public MyService(IDependency dependency) { _dependency = dependency; } public Message Method1() { _dependency.DoSomething(); } public Message Method2() { _dependency.DoSomething(); } public Message Method2() { _dependency.DoSomething(); } Ahora me acabo de dar cuenta de eso porque el objeto de dependencia contiene información de estado interno. Necesito actualizar una nueva […]

Inyección de Dependencia vs Ubicación del Servicio

Actualmente estoy sopesando las ventajas y desventajas entre DI y SL. Sin embargo, me he encontrado en el siguiente catch 22 que implica que debería usar SL para todo, y solo inyectar un contenedor IoC en cada clase. DI Catch 22: Algunas dependencias, como Log4Net, simplemente no se ajustan a DI. Llamo a estas metadependencias […]

Cómo eliminar la funcionalidad de la unidad de trabajo de los repositorys usando IOC

Tengo una aplicación que usa ASP.NET MVC, Unity y Linq to SQL. El contenedor de unidad registra el tipo AcmeDataContext que hereda de System.Data.Linq.DataContext , con un LifetimeManager utiliza HttpContext . Hay una fábrica de controladores que obtiene las instancias del controlador utilizando el contenedor de unidades. Configuré todas mis dependencias en los constructores, así: […]

¿Inyección de dependencia usando Azure WebJobs SDK?

El problema es que Azure WebJobs SDK solo admite métodos públicos estáticos como puntos de entrada de trabajos, lo que significa que no hay forma de implementar la inyección de constructores / propiedades. No puedo encontrar nada sobre este tema en la documentación / recursos oficiales de WebJobs SDK. La única solución que encontré se […]

¿Por qué se usa PerThreadLifetimeManager en este ejemplo?

Estoy siguiendo el ejemplo vinculado a continuación para configurar la unidad para que funcione con mi capa de servicio. Mi proyecto está configurado muy similar al de este artículo y entiendo todo, excepto por qué exactamente se usa PerThreadLifetimeManager al registrar la dependencia del servicio. Tenga en cuenta que también estoy usando un repository genérico […]

La mejor forma de usar StructureMap para implementar el patrón de Estrategia

Mi aplicación web tiene algunas ligeras variaciones en lógica de negocios y lógica de presentación dependiendo del tipo de usuario que está conectado. Parece que obtener variaciones inyectando diferentes clases concretas basadas en el tipo de usuario es una buena opción para DI. Así que me pregunto qué características de StructureMap debería usar para lograr […]

Inyección de dependencia en el patrón de unidad de trabajo utilizando repositorys

Quiero crear una unidad de clase de trabajo que envuelva los repositorys de forma similar a esto . El problema que tengo es tratar de implementar la dependency injection reemplazando los repositorys generics en el ejemplo con una interfaz IRepository. A continuación, en el artículo vinculado utilizan getters para comprobar si el repository está instanciado […]