Onde colocar e configurar contêiner IoC em um aplicativo WPF?

Eu estou trabalhando em um aplicativo WPF de tamanho médio (MVVM) que deve ser extensível e sustentável no futuro. Assim, decidi usar um contêiner IoC (Unity, neste caso) para manter as coisas flexíveis.

No entanto, não tenho certeza de onde colocar e configurar o Unity em um aplicativo WPF.

Eu acho que contêiner deve ser acessível globalmente, então provavelmente deve ir para a classe Application. Mas devo fazer isso como propriedade estática? Devo configurá-lo no manipulador de eventos Application_Startup ()?

Por exemplo:

<code>/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
    public static UnityContainer MyUnityContainer;


    private void Application_Startup(object sender, StartupEventArgs e)
    {
        // instantiate and configure Unity
    }
}
</code>

Dessa forma, poderei acessar o contêiner de qualquer lugar no aplicativo por meio da propriedade estática:

<code>App.MyUnityContainer
</code>

Eu acho que esta é uma maneira de fazer isso, mas não tenho certeza se existem práticas melhores para esse problema, especificamente para aplicativos WPF.

questionAnswers(3)

yourAnswerToTheQuestion