« Prism 8 » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 23 : Ligne 23 :
         containerRegistry.RegisterSingleton<IMyService, MyService>();
         containerRegistry.RegisterSingleton<IMyService, MyService>();
         // registera transient service
         // registera transient service
         containerRegistry.RegisterScoped<IMyService, MyService>();
         containerRegistry.Register<IMyService, MyService>();
     }
     }
</filebox>
</filebox>

Version du 10 avril 2021 à 20:15

Links

Description

Fully open source version of Prism including MVVM, dependency injection, commands, EventAggregator, and others.
Prism 8 supports WPF, Xamarin Forms and UNO, but not Silverlight, Windows 8/8.1/WP8.1 or UWP.

Getting Started

Dependency Injection

App.xaml.cs
public partial class App
{
    protected override void RegisterTypes(IContainerRegistry containerRegistry)
    {
        // register a singleton service
        containerRegistry.RegisterSingleton<IMyService, MyService>();
        // registera transient service
        containerRegistry.Register<IMyService, MyService>();
    }
  • singleton service: for a service which is used throughout the application and that retains its state.
  • transient service: create a new instance each time.
  • scoped service: no implementation because unlike a web application, desktop applications are dealing with a single user and not scoped user requests.