Articles of unidade container

Usando Injeção de Dependência sem qualquer Biblioteca DI

Eu sou novo no repository e DI e tentando implementar no meu projeto MVC 5. Eu implementei Injeção de Construtor onde no meu controlador tem um construtor como este: IBook _ibook; public Test(IBook ibook) { _ibook = ibook; } Sem qualquer biblioteca DI, ele gera um erro: Não há um construtor vazio. Para evitar isso, […]

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 […]

MVC, EF – Instância de singleton DataContext Per-Web-Request no Unity

Eu tenho um aplicativo da web MVC 3, onde estou usando o Entity Framework para o access a dados. Além disso, fiz um uso simples do padrão de repository, onde, por exemplo, todo o material relacionado ao Produto é tratado no “ProductRepository” e todo o material relacionado ao Usuário é tratado no “UserRepository”. Assim, estou […]

É melhor criar um singleton para acessar o container da unidade ou passá-lo pelo aplicativo?

Eu estou mergulhando meu dedo em usando um quadro de IoC e escolhi usar o Unity. Uma das coisas que ainda não entendo completamente é como resolver objects mais profundamente no aplicativo. Eu suspeito que eu não tive a lâmpada no momento que vai deixar claro. Então, eu estou tentando fazer algo como o seguinte […]

Existe um padrão para inicializar objects criados por meio de um contêiner DI

Eu estou tentando obter Unity para gerenciar a criação de meus objects e quero ter alguns parâmetros de boot que não são conhecidos até o tempo de execução: No momento, a única maneira que consegui pensar em como fazer isso é ter um método de boot na interface. interface IMyIntf { void Initialize(string runTimeParam); string […]