Хорошо или плохо предоставлять услуги по компоненту angular 4?

На самом деле, у меня есть два вопроса о лучших практиках angular 4.

  1. У меня есть служба с именем RemoteService, которая отвечает за вызовы XHR. Я хочу поймать экземпляр компонента, который использует эту службу, в RemoteService. Так что, я думаю, лучше предоставлять эту услугу на уровне компонентов. Потому что я не хочу, чтобы все методы службы принимали экземпляр компонента по параметру. Но это хорошо или плохо - предоставлять услуги по каждому компоненту? Кстати: RemoteService будет использоваться в сотнях компонентов.
  2. Я пытаюсь следовать руководству по стилю angular. Где мне разместить RemoteService ?. Модуль общих функций или модуль основных функций ?. Его цель похожа на ExceptionService и LoggerService. Но это не одноэлементный сервис, как я объяснил выше. Это может зависеть от ответа на вопрос 1.

person dvl Batdelger    schedule 07.04.2017    source источник


Ответы (1)


Итак, чтобы ответить на оба ваших вопроса - RemoteService определенно хорошая идея. Я обычно называю свой ApiService.

Это хорошая идея по нескольким причинам:

  • Все HTTP-вызовы из одного файла позволяют использовать одну конечную точку для ваших внешних запросов. Это более организовано, чем вызовы, исходящие от отдельных сервисов на уровне компонентов.
  • У вас больше контроля над звонками. Это означает, что если вам нужно было добавить некоторую логику между вызовом из вашего компонента и фактическим http-вызовом (пример - проверка аутентификации) - вы не хотите бегать вокруг своего приложения, меняя его везде - вместо этого у вас есть локальная функция, которая обертывает HTTP-запрос и предоставляет дополнительную логику.

Что касается того, где его разместить - руководство по стилю Джона Папы предлагает поместить этот файл в папку shared: https://johnpapa.net/angular-2-styles/

person itamar    schedule 07.04.2017