Preguntas etiquetadas con dependency-injection

Inyección de dependencias, es un patrón de diseño en el que las dependencias (instancias de objetos, propiedades) de un componente se establecen a través de los constructores, métodos o campos (propiedades). Es una forma especial de la inversión de dependencia más general.

2
Inyección de dependencia versus métodos estáticos
Tuve una discusión interesante hoy con otro desarrollador sobre cómo abordar una clase con un método que acepta una cadena y genera una cadena. Imagine algo como lo siguiente que está completamente inventado con el propósito de ejemplo public string GetStringPart(string input) { //Some input validation which is removed for …

5
¿Cuáles son los beneficios de la inyección de dependencia en los casos en que casi todos necesitan acceso a una estructura de datos común?
Hay muchas razones por las cuales los globales son malvados en OOP. Si el número o el tamaño de los objetos que necesitan compartirse es demasiado grande para pasarlo de manera eficiente en los parámetros de la función, generalmente todos recomiendan la inyección de dependencia en lugar de un objeto …




2
¿Existe evidencia de que el uso de la inyección de dependencia mejora los resultados en la ingeniería de software?
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 …

1
Inyección de dependencias / prácticas de contenedor de IoC al escribir marcos
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 proporciona una plataforma / marco? Mi objetivo como …




3
Véndeme en contenedores IoC, por favor
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 = std::auto_ptr<Dependency>(new ConcreteDependency) ) : d_(d) { } }; TEST(UnitUnderTest, Example) { std::auto_ptr<Dependency> dep(new MockDependency); UnitUnderTest uut(dep); //Test …


4
¿Deben inyectarse dependencias en el ctor o por método?
Considerar: public class CtorInjectionExample { public CtorInjectionExample(ISomeRepository SomeRepositoryIn, IOtherRepository OtherRepositoryIn) { this._someRepository = SomeRepositoryIn; this._otherRepository = OtherRepositoryIn; } public void SomeMethod() { //use this._someRepository } public void OtherMethod() { //use this._otherRepository } } en contra: public class MethodInjectionExample { public MethodInjectionExample() { } public void SomeMethod(ISomeRepository SomeRepositoryIn) { //use SomeRepositoryIn …


5
¿Puedo usar la inyección de dependencia sin romper la encapsulación?
Aquí está mi solución y proyectos: Librería (solución) BookStore.Coupler (proyecto) Bootstrapper.cs BookStore.Domain (proyecto) CreateBookCommandValidator.cs CompositeValidator.cs IValidate.cs IValidator.cs ICommandHandler.cs BookStore.Infrastructure (proyecto) CreateBookCommandHandler.cs ValidationCommandHandlerDecorator.cs BookStore.Web (proyecto) Global.asax BookStore.BatchProcesses (proyecto) Program.cs Bootstrapper.cs : public static class Bootstrapper.cs { // I'm using SimpleInjector as my DI Container public static void Initialize(Container container) { container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.