Бизнес-правила в угловых сервисах? - PullRequest
0 голосов
/ 15 октября 2018

Я буду применять Business rules на моем Angular service.Это для отображения только новостей, созданных сегодня.

Я проанализировал ответ на мой вызов как Array<News>.

Мой вопрос:

Могу ли я напрямуюприменять мои бизнес-правила в моем сервисе?Или мне нужно применить это в компоненте (после разбора)?Или другим способом?

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Angular предоставляет вам несколько способов действовать здесь. Самое важное, что нужно помнить, это то, что Angular связан с DI , что означает:

  • Вы создаете сервис
  • Зарегистрируйте его в качестве поставщика
  • Добавьте его в компонент, используя декоратор @Injectable, чтобы показать функциональность между компонентом и службой.

Отсюда два пути:

Один:

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

Два:

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

Что правильно?

Это будет зависеть от архитектуры и курса действий, которые вы решите предпринять.Они оба верны, вам решать, какой из них принесет вам больше пользы.

0 голосов
/ 15 октября 2018

Лучше было бы выполнить весь сложный процесс в Service Layer и позволить Component обрабатывать представление (манипулирование DOM, анимация и т. Д.).

Вы можете иметь более одного сервисного уровня дляобрабатывать другой уровень задачи.

  1. Уровень обслуживания 1 - Обработка HTTP-вызова
  2. Уровень обслуживания 2 - Анализ и манипулирование
  3. Уровень компонента - Показать проанализированный контент.
...