Uso de contêineres IoC; especificamente Windsor

Acho que a resposta a essa pergunta é tão óbvia que ninguém se incomodou em escrever sobre isso, mas é tarde e eu realmente não consigo entender isso.

Estive lendo em contêineres IoC (neste caso, Windsor) e estou sentindo falta de como você fala com o contêiner das várias partes do seu código.

Recebo DI, venho fazendo DIs pobres (construtores vazios chamando construtores de injeção sobrecarregados com implementações de parâmetros padrão) há algum tempo e posso ver completamente os benefícios do contêiner. No entanto, estou perdendo uma informação vital; como você deve fazer referência ao contêiner toda vez que precisar de um serviço dele?

Crio uma única seguradora global pela qual repasse? Certamente não!

Eu sei que devo chamar assim:

WindsorContainer container = new WindsorContainer(new XmlInterpreter());

(por exemplo) quando quero carregar minha configuração XML, mas o que faço com o contêiner? A criação de um novo contêiner toda vez depois disso persiste a configuração carregada através de alguns truques estáticos internos ou de outra forma, ou eu tenho que recarregar a configuração toda vez (acho que não, ou os ciclos de vida não poderiam funcionar).

Não entender isso está me impedindo de descobrir como os ciclos de vida funcionam e continuar usando algumas grandezas de IoC

Obrigado,

Andrew

questionAnswers(5)

yourAnswerToTheQuestion