-
Notifications
You must be signed in to change notification settings - Fork 295
Expand file tree
/
Copy pathStartup.cs
More file actions
31 lines (29 loc) · 1.13 KB
/
Startup.cs
File metadata and controls
31 lines (29 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using Microsoft.Extensions.DependencyInjection;
using TagsCloudContainer.Interfaces;
using TagsCloudContainer.Readers;
using TagsCloudContainer.TagsCloud;
namespace TagsCloudContainer
{
public class Startup
{
public static ServiceProvider ConfigureServices()
{
return new ServiceCollection()
.AddSingleton<IFileReader, TxtReader>()
.AddSingleton<IPreprocessor, WordPreprocessor>()
.AddSingleton<IImageSettings, ImageSettings>()
.AddSingleton<FileReader>()
.AddSingleton<ITagCloudGenerator, TagCloudGenerator>()
.AddScoped(provider =>
{
var fileReader = provider.GetRequiredService<IFileReader>();
var preprocessor = provider.GetRequiredService<IPreprocessor>();
var tagCloudGenerator = provider.GetRequiredService<ITagCloudGenerator>();
var imageSettings = provider.GetRequiredService<IImageSettings>();
var fReader = provider.GetRequiredService<FileReader>();
return new TagCloudApp(preprocessor, imageSettings, fReader);
})
.BuildServiceProvider();
}
}
}