J'ajoute DI à l'application wpf en utilisant le framework Ninject. Est-il approprié de stocker le noyau en tant que membre statique de la classe App, ou je préfère le supprimer de la classe App et créer une instance à tout moment je dois l'utiliser dans le code de windows juste avant d'utiliser (IUnitOfWork unit = new ...) bloc?Est-ce correct Stocker le noyau de dépendance dans l'application onstart comme variable statique?
App.xaml.cs
public partial class App : Application
{
internal static StandardKernel kernel;
protected override void OnStartup(StartupEventArgs e)
{
kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
base.OnStartup(e);
}
}
Appel du noyau dans des fenêtres différentes:
using (IUnitOfWork unitOfWork = App.kernel.Get<IUnitOfWork>())
{
comboFloors.ItemsSource = unitOfWork.Buildings.GetLivingFloors();
}