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.