Articles of dependência injeção

Injeção de Dependência vs Local do Serviço

Atualmente, estou avaliando as vantagens e desvantagens entre DI e SL. No entanto, eu me encontrei na captura seguinte, o que implica que eu deveria usar o SL para tudo, e só injetar um contêiner IoC em cada class. DI Catch 22: Algumas dependencies, como Log4Net, simplesmente não são adequadas para DI. Eu chamo essas […]

spring: namespace vs contextConfigLocation parâmetros init no web.xml

Estou lendo a documentação do Spring MVC e tenho uma dúvida sobre os parâmetros de boot. Estou usando o Spring 3.2, se for importante. Qual é a diferença entre o contextConfigLocation e o namespace? É o contextConfigLocation destinado apenas para especificar as pastas onde a class de contexto pode encontrar uma definição XML e o […]

Seleção de tipo de injeção de dependência

Recentemente eu tenho um problema onde eu tenho que selecionar um tipo baseado em um parâmetro. Por exemplo: uma class usada para enviar notifications que devem selecionar o canal certo (email, sms, …) com base em um parâmetro de input. Eu pareço algo assim: public class NotificationManager { IEmail _email; ISms _sms; public NotificationManager (IEmail […]

Existe uma maneira boa / adequada de resolver o problema do loop de injeção de dependência no tutorial ASP.NET MVC ContactsManager?

Se você não sabe o que estou falando, vá até o tutorial e tente adicionar a injeção de dependência ou tente a sua sorte com a minha explicação do problema. Nota: Esse problema não está no escopo do tutorial original sobre o ASP.NET. O tutorial sugere apenas que os padrões usados ​​são amigáveis ​​para injeção […]

Como remover a funcionalidade da unidade de trabalho dos repositorys usando o COI

Eu tenho um aplicativo usando o asp.net MVC, Unity e Linq para SQL. O contêiner de unidade registra o tipo AcmeDataContext que herda de System.Data.Linq.DataContext , com um LifetimeManager usando HttpContext . Existe uma fábrica de controladores que obtém as instâncias do controlador usando o contêiner de unidade. Eu configurei todas as minhas dependencies nos […]

Padrão de Injeção de Dependência e Design Único

Como identificamos quando usar a injeção de dependência ou o padrão singleton. Eu li em muitos sites onde eles dizem “Use Injeção de Dependência sobre o padrão singleton”. Mas não tenho certeza se concordo totalmente com eles. Para meus projetos de pequena ou média escala, vejo definitivamente o uso do padrão singleton simples. Por exemplo, […]

Injeção de propriedade em atributos

Eu estou tentando injetar uma dependência em um AuthorizeAttribute personalizado da seguinte maneira: public class UserCanAccessArea : AuthorizeAttribute { readonly IPermissionService permissionService; public UserCanAccessArea() : this(DependencyResolver.Current.GetService()) { } public UserCanAccessArea(IPermissionService permissionService) { this.permissionService = permissionService; } protected override bool AuthorizeCore(HttpContextBase httpContext) { string AreaID = httpContext.Request.RequestContext.RouteData.Values[“AreaID”] as string; bool isAuthorized = false; if (base.AuthorizeCore(httpContext)) isAuthorized […]

Posso passar parâmetros de construtor para o método Resolve () da Unity?

Estou usando o Unity da Microsoft para injeção de dependência e quero fazer algo assim: IDataContext context = _unityContainer.Resolve(); var repositoryA = _unityContainer.Resolve(context); //Same instance of context var repositoryB = _unityContainer.Resolve(context); //Same instance of context IDataContext context2 = _unityContainer.Resolve(); //New instance var repositoryA2 = _unityContainer.Resolve(context2); RepositoryA e RepositoryB ambos têm um construtor que recebe um […]

Como injetar um object no contexto de solicitação de jersey?

Eu tenho este cenário onde eu quero escrever um filtro e eu quero que este filtro para inserir algum object para o pedido atual e passá-lo para que quando a class de recurso recebe a solicitação pode usar o object. Classe de filtro @Override public void filter(ContainerRequestContext request) throws IOException { MyObject obj = new […]

dependency injection no Struts2 Acessando beans com escopo de session

Recentemente eu precisei usar DI no Struts2. Eu sei que ele usa sua própria implementação de DI como Guice, mas não Guice, na medida em que não consegui encontrar algumas annotations adequadas para definir o escopo para beans injetados. Para ser curto, eu criei um bean //@Repository //@Scope(“session”) public class Session { private Map map […]