É melhor criar um singleton para acessar o contêiner de unidade ou passá-lo pelo aplicativo? [fechadas]

Estou mergulhando no uso de uma estrutura de IoC e escolhi usar o Unity. Uma das coisas que ainda não entendi completamente é como resolver objetos mais profundamente no aplicativo. Suspeito que não tenha acendido a lâmpada no momento que a deixará clara.

Então, eu estou tentando fazer algo como o seguinte no código psuedo'ish

void Workflow(IUnityContatiner contatiner, XPathNavigator someXml)
{
   testSuiteParser = container.Resolve<ITestSuiteParser>
   TestSuite testSuite = testSuiteParser.Parse(SomeXml) 
   // Do some mind blowing stuff here
}

Portanto, o testSuiteParser.Parse faz o seguinte

TestSuite Parse(XPathNavigator someXml)
{
    TestStuite testSuite = ??? // I want to get this from my Unity Container
    List<XPathNavigator> aListOfNodes = DoSomeThingToGetNodes(someXml)

    foreach (XPathNavigator blah in aListOfNodes)
    {
        //EDIT I want to get this from my Unity Container
        TestCase testCase = new TestCase() 
        testSuite.TestCase.Add(testCase);
    } 
}

Eu posso ver três opções:

Crie um Singleton para armazenar meu contêiner de unidade que eu possa acessar em qualquer lugar. Eu realmente não sou fã dessa abordagem. Adicionar uma dependência como essa para usar uma estrutura de injeção de dependência parece um pouco estranho.Passe o IUnityContainer para minha classe TestSuiteParser e todos os filhos dela (suponha que ele esteja n níveis de profundidade ou, na realidade, cerca de 3 níveis de profundidade). Passar IUnityContainer por todos os lugares parece estranho. Eu posso apenas precisar superar isso.Tenha o momento da lâmpada no caminho certo para usar o Unity. Esperando que alguém possa ajudar a apertar o botão.

[EDIT] Uma das coisas que eu não estava claro é que quero criar uma nova instância de caso de teste para cada iteração da instrução foreach. O exemplo acima precisa analisar uma configuração do conjunto de testes e preencher uma coleção de objetos de caso de teste

questionAnswers(4)

yourAnswerToTheQuestion