Объединение двух сервисов - Design Pattern MVC - PullRequest
0 голосов
/ 08 июня 2018

У меня есть служба, которая блокирует пользователя от выполнения действий с идентификатором, называемая «LockingService»,

У меня также есть 2 разные вещи, которые необходимо заблокировать:

  1. (MembershipService) Вход в систему - если пользователь пытался войти в систему с номером участника более 3 раз - номер участника блокируется.
  2. (OtherService) Если пользователь пытался ввести недействительные учетные данные - его сеанс блокируется.

Служба не различает два.

Описан один из потоков (для входа в систему), который в данный момент существует на контроллере:

if(LockingService.IsLocked(membershipNumber)) 
   return View(dto);


if(MembershipService.login(membershipNumber)) {
   ... some actions that always
   return dto;
}
else {
   LockingService.AddToFailedAttempts(membershipNumber);
   return dto; // with errors
}

Я считаю, что этот поток логика не должна находиться в контроллере.

Предложения общих комментариев будет принята с благодарностью.
Спасибо.

1 Ответ

0 голосов
/ 08 июня 2018

Вы правы - это не принадлежит контроллеру, оно принадлежит сервису.

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

Служба может использовать другие службы, просто требовать их и использовать их.Контроллер должен просто обрабатывать ввод / вывод и вызывать соответствующий сервисный метод.

...