Как создать слабосвязанные сервисы в архитектуре MVC? - PullRequest
0 голосов
/ 27 мая 2020

Я много раз пытался Google, но не мог получить ответа.

Я создаю приложение MVC, и у меня есть вопрос, который беспокоит меня. Я хотел бы создать слабо связанные (насколько это возможно) сервисы. Предположим, что в методе в контроллере я хочу использовать 3 разных сервиса (Services A, B, C).

Предположим, что сервис C нуждается в возвращаемых значениях сервиса A и сервиса B для работы, вы на самом деле помещаете в контроллер все эти "логины вызовов c"? Возможно, в другом слое? Если да, то какой слой является идеальным?

Прилагаю код, чтобы лучше объяснить мой вопрос.

function evaluateStatus(a, b){
   try {
   const aResult = this.aService.getSomething();
   const bReulst = this.bService.getSomething();

   if(aResult === "SOME VALUE" && bResult <= 50){
      const cResult = this.cService.doSomething(aResult); 
   }
   } catch(e) { 

   }

   return something;

}

Большое спасибо.

1 Ответ

0 голосов
/ 27 мая 2020

Контроллер может вызывать несколько служб для получения данных для передачи их представлению / клиенту. Нет смысла иметь для этого еще один слой. Контроллер содержит c logi сайта и склеенные между моделями / службами и представлениями / клиентами.

Но если у вас есть общие бизнес-логи c, которые используются в нескольких местах, вы можете использовать их в класс / функцию, где его можно использовать повторно.

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