Angular-styleguide: Где размещать сервисы, у которых нет ни контроллеров, ни представлений?

Созданный на 22 мар. 2016  ·  3Комментарии  ·  Источник: johnpapa/angular-styleguide

Например: у меня есть служба состояний. Он возвращает все состояния страны, но не имеет собственного вида.

  1. Если он используется только в одном представлении, должен ли я поместить его в подпапку этого представления?
  2. Если он используется во многих представлениях, где я должен его поместить?

В «Folder-by-feature» https://github.com/johnpapa/angular-styleguide/tree/master/a1#folders-by-feature-structure он может видеть папку «services», но не на изображении ниже. .

На данный момент я использую «дополнительную» папку для размещения сервисов без контроллеров и представлений.

@johnpapa

Самый полезный комментарий

Службы не относятся к одному представлению, они относятся к службе или набору действий, которые они помогают обеспечить для приложения. Так что ваш сценарий довольно распространен. Вы уже прошли больше половины пути :)

Сначала мы решаем, есть ли у нас потребность в услуге. Вы уже сделали это, определив, что он обрабатывает состояние.

Затем мы решаем, как извлечь эту логику. Ты тоже это сделал!

Потом решим, кому это нужно. Он используется 1 контроллером? 1 услуга? 1 директива? Они все в 1 функции/модуле? Если используется одним модулем, я помещаю его в этот модуль. Если используется во всем приложении, поместите его в общий модуль.

Удачи

Все 3 Комментарий

  1. Это правильно
  2. Вы должны поместить его в основной файл службы core.service.js.

У меня есть каталог services , в котором хранятся все мои общие службы.

Лично я бы не стал помещать его в файл «основной службы», потому что это, похоже, нарушает Правило 1 (Y001) .

Службы не относятся к одному представлению, они относятся к службе или набору действий, которые они помогают обеспечить для приложения. Так что ваш сценарий довольно распространен. Вы уже прошли больше половины пути :)

Сначала мы решаем, есть ли у нас потребность в услуге. Вы уже сделали это, определив, что он обрабатывает состояние.

Затем мы решаем, как извлечь эту логику. Ты тоже это сделал!

Потом решим, кому это нужно. Он используется 1 контроллером? 1 услуга? 1 директива? Они все в 1 функции/модуле? Если используется одним модулем, я помещаю его в этот модуль. Если используется во всем приложении, поместите его в общий модуль.

Удачи

Была ли эта страница полезной?
0 / 5 - 0 рейтинги