Padrão de fábrica abstrata no topo da IoC?

Eu decidi usar os princípios do IoC em um projeto maior. No entanto, eu gostaria de obter algo direto que está me incomodando há muito tempo. A conclusão que tenho é que um contêiner IoC é um padrão arquitetural, não um padrão de design. Em outras palavras, nenhuma classe deve estar ciente de sua presença e o contêiner em si deve ser usado na camada de aplicação para costurar todos os componentes. Essencialmente, ele se torna uma opção, além de um modelo orientado a objetos bem projetado. Dito isso, como é possível acessar tipos resolvidos sem aspersão de contêineres IoC em todo o lugar (independentemente de serem ou não abstraídos)? A única opção que vejo aqui é utilizar fábricas abstratas que usam um contêiner IoC para resolver tipos de concreto. Isso deve ser fácil o suficiente para trocar por um conjunto de fábricas padrão. Será esta uma boa abordagem? Alguém aqui usou e quão bem funcionou para você? Existe mais alguma coisa disponível?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion