Preguntas etiquetadas con dependency-injection

Un patrón de diseño para reducir el acoplamiento entre componentes, inyectando dinámicamente en un componente de software las dependencias que necesita para funcionar.

2
¿Por qué no utilizar un contenedor de IoC para resolver dependencias de entidades / objetos comerciales?
Entiendo el concepto detrás de DI, pero estoy aprendiendo lo que pueden hacer los diferentes contenedores de IoC. Parece que la mayoría de la gente aboga por el uso de contenedores de IoC para conectar servicios sin estado, pero ¿qué pasa con su uso para objetos con estado como entidades? …


5
¿Cómo inyectar un repositorio en un servicio en Symfony?
Necesito inyectar dos objetos en ImageService. Uno de ellos es una instancia de Repository/ImageRepository, que obtengo así: $image_repository = $container->get('doctrine.odm.mongodb') ->getRepository('MycompanyMainBundle:Image'); Entonces, ¿cómo lo declaro en mi services.yml? Aquí está el servicio: namespace Mycompany\MainBundle\Service\Image; use Doctrine\ODM\MongoDB\DocumentRepository; class ImageManager { private $manipulator; private $repository; public function __construct(ImageManipulatorInterface $manipulator, DocumentRepository $repository) { …

3
Inyectando dependencias en los filtros de acción de ASP.NET MVC 3. ¿Qué tiene de malo este enfoque?
Aquí está la configuración. Digamos que tengo algún filtro de acción que necesita una instancia de un servicio: public interface IMyService { void DoSomething(); } public class MyService : IMyService { public void DoSomething(){} } Luego tengo un ActionFilter que necesita una instancia de ese servicio: public class MyActionFilter : …

4
Cómo usar log4net con inyección de dependencia
Estoy tratando de averiguar cuál es el patrón y el uso correctos de log4net con un marco de inyección de dependencia. Log4Net usa la interfaz ILog pero requiere que llame LogManager.GetLogger(Reflection.MethodBase.GetCurrentMethod().DeclaringType) en cada clase o método donde necesito registrar información. Esto parece ir en contra de los principios de IoC …


2
¿Cuál es la diferencia entre proporcionar e inyectar 'Ventana' frente a Ventana en Angular 8 y 9?
Tengo dos proyectos angulares que usan estas versiones: 9.0.0-siguiente.6 8.1.0 En la versión 9 usé esto para proporcionar e inyectar el windowobjeto: @NgModule({ providers: [ { provide: Window, useValue: window }, ] }) export class TestComponent implements OnInit { constructor(@Inject(Window) private window: Window) } Que funciona bien. Tomando este enfoque …

3
¿Hay una manera sólida de registrar dependencias en ASP.NET Core 3.1 además de agregar todo a la clase de inicio?
Tengo un proyecto ASP.NET Core 3.1. Por lo general, registro cualquier dependencia utilizando el ConfigureServices()método en la Startup.csclase. Pero, ¡me encuentro teniendo que registrar muchas dependencias y ConfigureServices()parece enorme! Sé que probablemente pueda crear un método de extensión de un método estático y llamarlo desde la clase ConfigureService () `, …

3
Métodos de fábrica vs marco de inyección en Python: ¿qué es más limpio?
Lo que generalmente hago en mis aplicaciones es que creo todos mis servicios / dao / repo / clients usando métodos de fábrica class Service: def init(self, db): self._db = db @classmethod def from_env(cls): return cls(db=PostgresDatabase.from_env()) Y cuando creo una aplicación hago service = Service.from_env() lo que crea todas las …

2
Cómo inyectar o usar IConfiguration en Azure Function V3 con Dependency Injection al configurar un servicio
Normalmente en un proyecto .NET Core, crearía una clase 'boostrap' para configurar mi servicio junto con los comandos de registro DI. Este suele ser un método de extensión de IServiceCollectiondonde puedo llamar a un método como .AddCosmosDbServicey todo lo necesario es 'autocontenido' en la clase estática que contiene ese método. …

2
Llamar a 'BuildServiceProvider' desde el código de la aplicación da como resultado una copia de la advertencia Singleton. ¿Cómo evito esto?
Acabo de pegar las 4 líneas al final de otro proyecto y funciona, pero recibo una advertencia ... Claramente no entiendo DI lo suficientemente bien ... ¿Qué quiere que cambie? public void ConfigureServices(IServiceCollection services) { if (HostingEnvironment.EnvironmentName == "Local") { services.AddHealthChecksUI() .AddHealthChecks() .AddCheck<TestWebApiControllerHealthCheck>("HomePageHealthCheck") .AddCheck<DatabaseHealthCheck>("DatabaseHealthCheck"); } services.Configure<PwdrsSettings>(Configuration.GetSection("MySettings")); services.AddDbContext<PwdrsContext>(o => o.UseSqlServer(Configuration.GetConnectionString("PwdrsConnectionRoot"))); services.AddMvc(o …

1
¿Por qué React (falta) en la lista de objetivos de compilación del esquema xcode?
Estoy tratando de ejecutar mi primera aplicación React-Native en un dispositivo ios usando xcode y sigo recibiendo este error: ld: warning: directory not found for option '-L/Users/XXXX/Library/Developer/Xcode/DerivedData/nigh-hktjvygosupgnoaafsvgyowhzsqi/Build/Products/Debug-iphoneos/React' ld: library not found for -lReact clang: error: linker command failed with exit code 1 (use -v to see invocation) Supongo que la …
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.