He estado viendo muchas referencias de Dependency Injection (DI) e Inversion Of Control (IOC), pero realmente no sé si hay una diferencia entre ellas o no. Me gustaría comenzar a usar uno o ambos, pero estoy un poco confundido sobre cómo son
La inversión de control (IoC) es un principio abstracto que describe un aspecto de algunos diseños de arquitectura de software en los que el flujo de control de un sistema se invierte en comparación con la programación de procedimientos.
He estado viendo muchas referencias de Dependency Injection (DI) e Inversion Of Control (IOC), pero realmente no sé si hay una diferencia entre ellas o no. Me gustaría comenzar a usar uno o ambos, pero estoy un poco confundido sobre cómo son
Las palabras inverto controlno se utilizan en absoluto para definir la Inversión de Control en las definiciones que he visto. Definiciones Wikipedia La inversión de control (IoC) es una técnica de programación, expresada aquí en términos de programación orientada a objetos, en la que el...
Estoy diseñando un nuevo sistema y quiero saber qué es la inversión de control (COI) y, lo que es más importante, cuándo usarlo. ¿Tiene que implementarse con interfaces o puede hacerse con
Estoy trabajando en un equipo donde el líder del equipo es un defensor virulento de los principios de desarrollo SOLID. Sin embargo, carece de mucha experiencia en sacar el software complejo de la puerta. Tenemos una situación en la que ha aplicado SRP a lo que ya era una base de código bastante...
¿Cuál es el propósito de los contenedores de COI? Las razones combinadas pueden simplificarse de la siguiente manera: Cuando se utilizan los principios de desarrollo OOP / SOLID, la inyección de dependencias se vuelve desordenada. O tiene los puntos de entrada de nivel superior que administran...
He estado leyendo más sobre el principio de Inversión de control y la Inyección de dependencias como una implementación del mismo y estoy bastante seguro de que lo entiendo. Parece estar básicamente diciendo 'no declares las instancias de los miembros de tu clase dentro de la clase'. Más bien que...
Estoy buscando implementar la inyección de dependencia en una aplicación relativamente grande, pero no tengo experiencia en ello. Estudié el concepto y algunas implementaciones de IoC e inyectores de dependencia disponibles, como Unity y Ninject. Sin embargo, hay una cosa que me está eludiendo....
Soy un gran admirador de DI / IOC. Es excelente para manejar / abstraer dependencias difíciles, y hace la vida un poco más fácil. Sin embargo, tengo una pequeña queja, que no estoy seguro de cómo resolver. La idea básica en DI / IOC es que cuando se crea una instancia de un objeto, todas sus...
A pesar de su popularidad, ¿hay alguna evidencia empírica que muestre que la Inyección de dependencias (y / o el uso de un contenedor DI) ayuda, por ejemplo, a reducir el conteo de errores, mejorar el mantenimiento o aumentar la velocidad de desarrollo en proyectos de software de la vida...
He utilizado varios contenedores IoC (Castle.Windsor, Autofac, MEF, etc.) para .Net en varios proyectos. He descubierto que tienden a ser abusados con frecuencia y alientan una serie de malas prácticas. ¿Existen prácticas establecidas para el uso de contenedores IoC, particularmente cuando se...
He visto varios recomendar el uso de contenedores IoC en el código. La motivación es simple. Tome el siguiente código inyectado de dependencia: class UnitUnderTest { std::auto_ptr<Dependency> d_; public: UnitUnderTest( std::auto_ptr<Dependency> d =
Pido disculpas si esto parece una repetición más de la pregunta, pero cada vez que encuentro un artículo sobre el tema, en su mayoría solo habla sobre qué es DI. Entonces, recibo DI, pero estoy tratando de entender la necesidad de un contenedor de IoC, en el que todos parecen estar metiéndose. ¿El...
Contexto: estoy usando C # Diseñé una clase y, para aislarla y facilitar las pruebas unitarias, paso todas sus dependencias; no hace objeto de instanciación internamente. Sin embargo, en lugar de hacer referencia a interfaces para obtener los datos que necesita, hago referencia a Funcs de...
He estado profundizando en una programación más "organizada" recientemente y he estado aprendiendo que debería programar en una interfaz, no en una implementación. Con eso en mente, ¿sería mejor "esbozar" un proyecto en las interfaces antes de escribir la implementación para ello cuando sea...
Aprendí a hacer Test Driven Development (TDD), Dependency Injection (DI) e Inversion of Control (IoC), todo al mismo tiempo. Cuando escribo código usando TDD, siempre termino usando DI en los constructores de mi clase. Me pregunto si esto se debe a cómo aprendí a hacer TDD, o si este es un efecto...
El año pasado, creé un nuevo sistema usando Inyección de dependencia y un contenedor de COI. ¡Esto me enseñó mucho sobre DI! Sin embargo, incluso después de aprender los conceptos y patrones adecuados, considero que es un desafío desacoplar el código e introducir un contenedor IOC en una...
Soy nuevo en la inyección de dependencias y tengo algunas preguntas sobre qué estilo debo usar en mis aplicaciones. Acabo de leer Inversion of Control Containers y el patrón de Inyección de dependencias de Martin Fowler, pero no puedo obtener la diferencia práctica entre el constructor, el setter y...
¿Alguien ha comenzado un proyecto para hacer IOC en tiempo de compilación (posiblemente usando Roslyn o Linq MethodInfo emit)? Mi experiencia con los contenedores de COI ha sido excelente hasta ahora, dejando al descubierto algunos pequeños problemas. Muchos contenedores IOC tardan en iniciarse,...
En muchos artículos en toda la web, los términos Inversión de control y Principio de inversión de dependencia parecen estar mezclados y utilizados como sinónimos (las herramientas llamadas "DI-Containers" y "IoC-Containers" confunden aún más la confusión). Un artículo de Wikipedia hace un buen...