¿Dónde colocar y configurar el contenedor IoC en una aplicación WPF?
Estoy trabajando en una aplicación WPF de tamaño medio (MVVM) que debería ser extensible y mantenible en el futuro. Así que decidí usar un contenedor IoC (Unity en este caso) para mantener las cosas flexibles.
Sin embargo, no estoy seguro de dónde colocar y configurar Unity en una aplicación WPF.
Supongo que el contenedor debería ser accesible globalmente, por lo que probablemente debería ir a la clase de aplicación. ¿Pero debo hacerlo como propiedad estática? ¿Debo configurarlo en el controlador de eventos Application_Startup ()?
P.ej:
<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>
De esta manera, podré acceder al contenedor desde cualquier lugar de la aplicación a través de una propiedad estática:
<code>App.MyUnityContainer </code>
Supongo que esta es una forma de hacerlo, pero no estoy seguro de si hay mejores prácticas para este problema, específicamente para las aplicaciones WPF.