Skip to content
This repository was archived by the owner on Nov 17, 2023. It is now read-only.

Commit 48b273c

Browse files
David BritchDavid Britch
authored andcommitted
Rely on TinyIoC defaults to register interface mappings as singletons.
1 parent 5f3b155 commit 48b273c

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -42,55 +42,55 @@ static ViewModelLocator()
4242
{
4343
_container = new TinyIoCContainer();
4444

45-
// View models
45+
// View models - by default, TinyIoC will register concrete classes as multi-instance.
4646
_container.Register<BasketViewModel>();
4747
_container.Register<CatalogViewModel>();
4848
_container.Register<CheckoutViewModel>();
49-
_container.Register<LoginViewModel>();
49+
_container.Register<LoginViewModel>().AsSingleton();
5050
_container.Register<MainViewModel>();
5151
_container.Register<OrderDetailViewModel>();
5252
_container.Register<ProfileViewModel>();
5353
_container.Register<SettingsViewModel>();
5454
_container.Register<CampaignViewModel>();
5555
_container.Register<CampaignDetailsViewModel>();
5656

57-
// Services
58-
_container.Register<INavigationService, NavigationService>().AsSingleton();
57+
// Services - by default, TinyIoC will register interface registrations as singletons.
58+
_container.Register<INavigationService, NavigationService>();
5959
_container.Register<IDialogService, DialogService>();
6060
_container.Register<IOpenUrlService, OpenUrlService>();
6161
_container.Register<IIdentityService, IdentityService>();
62-
_container.Register<IRequestProvider, RequestProvider>();
62+
_container.Register<IRequestProvider, RequestProvider>().AsMultiInstance();
6363
_container.Register<IDependencyService, Services.Dependency.DependencyService>();
64-
_container.Register<ISettingsService, SettingsService>().AsSingleton();
65-
_container.Register<IFixUriService, FixUriService>().AsSingleton();
66-
_container.Register<ILocationService, LocationService>().AsSingleton();
67-
_container.Register<ICatalogService, CatalogMockService>().AsSingleton();
68-
_container.Register<IBasketService, BasketMockService>().AsSingleton();
69-
_container.Register<IOrderService, OrderMockService>().AsSingleton();
70-
_container.Register<IUserService, UserMockService>().AsSingleton();
71-
_container.Register<ICampaignService, CampaignMockService>().AsSingleton();
64+
_container.Register<ISettingsService, SettingsService>();
65+
_container.Register<IFixUriService, FixUriService>();
66+
_container.Register<ILocationService, LocationService>();
67+
_container.Register<ICatalogService, CatalogMockService>();
68+
_container.Register<IBasketService, BasketMockService>();
69+
_container.Register<IOrderService, OrderMockService>();
70+
_container.Register<IUserService, UserMockService>();
71+
_container.Register<ICampaignService, CampaignMockService>();
7272
}
7373

7474
public static void UpdateDependencies(bool useMockServices)
7575
{
7676
// Change injected dependencies
7777
if (useMockServices)
7878
{
79-
_container.Register<ICatalogService, CatalogMockService>().AsSingleton();
80-
_container.Register<IBasketService, BasketMockService>().AsSingleton();
81-
_container.Register<IOrderService, OrderMockService>().AsSingleton();
82-
_container.Register<IUserService, UserMockService>().AsSingleton();
83-
_container.Register<ICampaignService, CampaignMockService>().AsSingleton();
79+
_container.Register<ICatalogService, CatalogMockService>();
80+
_container.Register<IBasketService, BasketMockService>();
81+
_container.Register<IOrderService, OrderMockService>();
82+
_container.Register<IUserService, UserMockService>();
83+
_container.Register<ICampaignService, CampaignMockService>();
8484

8585
UseMockService = true;
8686
}
8787
else
8888
{
89-
_container.Register<ICatalogService, CatalogService>().AsSingleton();
90-
_container.Register<IBasketService, BasketService>().AsSingleton();
91-
_container.Register<IOrderService, OrderService>().AsSingleton();
92-
_container.Register<IUserService, UserService>().AsSingleton();
93-
_container.Register<ICampaignService, CampaignService>().AsSingleton();
89+
_container.Register<ICatalogService, CatalogService>();
90+
_container.Register<IBasketService, BasketService>();
91+
_container.Register<IOrderService, OrderService>();
92+
_container.Register<IUserService, UserService>();
93+
_container.Register<ICampaignService, CampaignService>();
9494

9595
UseMockService = false;
9696
}

0 commit comments

Comments
 (0)