Бритвенные страницы с сервисами и репозиториями - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь понять, как разделить проблемы в моем приложении, и раньше я использовал шаблон репозитория,

Проблема в том, что я не понимаю, откуда приходит служба.

Допустим, у меня есть простая CreateModel

public class CreateModel : PageModel
{
    private readonly IGenericRepository _genereicRepository;

    public CreateModel(IGenericRepository genericRepository)
    {
        _genereicRepository = genericRepository;
    }

    [BindProperty]
    public Entity Entity { get;set; }

    public void OnGet()
    {
        var entities = _genericRepository.GetEntities();
    }

    public void OnPost()
    {
        _genereicRepository.AddEntity(Entity);
        _genereicRepository.SaveChanges();
    }
}

, а остальное зависит от хранилища для выполнения вызовов базы данных.

Теперь, зачем мне здесь нужен сервис и что именнообрабатывать или абстрагировать еще больше, поскольку абстрагироваться больше нечего?

1 Ответ

1 голос
/ 23 июня 2019

Вам могут не понадобиться услуги, все зависит от того, насколько сложна ваша система.Если все ваши методы контроллера выполняются с одним объектом и одним вызовом репозитория, я бы не добавил службу.

Я добавляю службы, когда операции, которые хотят выполнять контроллеры, становятся слишком сложными, чтобы держать их вконтроллер.Например, если один метод контроллера обновляет несколько объектов и требует некоторой логики (иногда эта группа объектов обновляется, иногда эта группа) - я помещаю эту логику в службу.

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