Инъекция предметов друг в друга - PullRequest
0 голосов
/ 22 октября 2018

Типичная архитектура, которую я использую, состоит из объектов Manager в бизнес-уровне.Я использую DI / IOC в .NET Core / .NET Standard.Менеджеры внедряются в сервисный уровень и, следовательно, сервисы внедряются в наши контроллеры API.Поэтому я сейчас работаю в классе менеджера.Теперь мне нужен метод, который находится в другом классе менеджера.Обычно я возвращаюсь обратно через сервисный уровень к контроллеру, затем вызываю следующий сервис, а затем через него менеджер.

Мне интересно, нормально ли просто вводить нужный мне менеджер прямо в менеджер, которым я являюсьработа в. Поэтому отключение поездки обратно к контроллеру, а затем обратно через другой сервис к другому менеджеру.В основном у меня есть 2 * менеджеров.

public class TypeCodeManager : ITypeCodeManager
{
    public TypeCodeManager()
    {
    }

    public async Task<int> GetTypeCodeAsync(string typeCode, string code)
}

public class UserManager : IUserManager
{
     private readonly ITypeCodeManager _typeCodeManager;

     public UserManager(ITypeCodeManager typeCodeManager)
     {
        _typeCodeManager = typeCodeManager
     }
}

Это вообще хорошая идея?

1 Ответ

0 голосов
/ 22 октября 2018

Я бы сказал, что, как правило, не очень хорошая идея переходить в другие домены через «менеджеров», предполагая, что ваши менеджеры - это то, что говорит с постоянным слоем.Это быстро приведет к путанице в картах зависимостей и коде.

Ваши услуги - гораздо лучший уровень для управления междоменными проблемами, поскольку они могут описывать междоменные рабочие процессы и зависят от нескольких менеджеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...