IoCContainer
Inversion of Control Container
code:IoCContainer.cs
var serviceCollection = new ServiceCollection();
serviceCollection.AddTransient<IUserRepository, InMemoryUserRepository>();
serviceCollection.AddTransient<UserApplicationService>();
var provider = serviceCollection.BuildServiceProvider();
var userApplicationService = provider.GetServide<UserApplicationService>();