Это правильный шаблон для .NET Core Dependency Injection? - PullRequest
0 голосов
/ 14 мая 2019

У меня есть сомнения относительно правильного шаблона DI, который будет использоваться для создания развязанного приложения.

Моя структура проекта:

enter image description here

Я хочу внедрить реализацию класса UserManager, и для этого я добавил зависимость от Startup.cs моего веб-приложения с помощью этого оператора:

services.AddScoped<IUserManager, UserManager>();

Для этогоЯ должен добавить ссылку на проект для проекта BestBurgerManager.Business, а также использовать его реализацию.

Это правильно с точки зрения DI?Кажется, что у этого не будет развязанного дизайна, делающего таким образом.

Реализация моего класса UserManager:

    public class UserManager : IUserManager
{
    private readonly IUserManager _userManager;
    public UserManager(IUserManager userManager)
    {
        _userManager = userManager;
    }

    public void AddUser(User user)
    {
        // Adds a user.
    }

    public User GetUser(int userId)
    {
        return new User(); // Just to test DI.
    }
}

Любая помощь в разъяснении этого приветствуется.

...