Какие существуют методы разделения сервисов больших angularjs? - PullRequest
2 голосов
/ 01 апреля 2019

В настоящее время я перестраиваю большой контроллер angularjs (более 1000 строк), и этот контроллер использует сервис больших angularjs (более 1000 строк). Я хочу перенести большую часть бизнес-логики с контроллера на службу, но обслуживание становится все труднее поддерживать. Какие методы используются для определения границ и разделения больших служб?

В нашем сервисе у нас есть открытые функции, которые являются обертками для http-вызовов API, и открытые функции, которые просто выполняют бизнес-логику. Это хорошая идея, чтобы разделить файл на основе API-вызова / бизнес-логики. Или я должен попытаться найти другой способ разделения файлов, который поддерживает вызовы API и ретранслирует бизнес-логику, сгруппированную в одном файле?

1 Ответ

1 голос
/ 01 апреля 2019

Я обычно делю бизнес-логику компонента на три подуслуги и помещаю их в отдельные файлы: feature.manager, feature.utils и feature.service

feature.service содержит все асинхронные вызовы (ajax, websocket и т. Д.), Эта служба не имеет реальной бизнес-логики, она только обрабатывает связь между клиентом и сервером.

feature.utils содержит все служебные методы, например, преобразование структуры бизнес-данных, основные методы в этом сервисе должны быть функциональными.

feature.manager содержит большую часть бизнес-логики, и она должна зависеть от feature.utils и feature.service

...