Чтобы ускорить разработку для моего следующего Node-API, я искал подходящую платформу. В прошлом я создавал свои API только с express.
Один шаблон проектирования, который я всегда считал полезным, - это полное отделение бизнес-логики c от обработки маршрутов в сервисах. Эти сервисы принимают только необходимую информацию (например, идентификатор пользователя или данные) и возвращают обещание, разрешающее результат операции.
Таким образом, легко использовать эти сервисы в других маршрутах, комбинировать их, тестировать или вызывать их на основе расписаний или других событий - полностью независимо от вызовов конечных точек. Маршрутизация и промежуточное ПО заботятся о контроле доступа, обработке ошибок и реагировании.
Глядя на документацию этих фреймворков (sails js, keystone js, ...), я в основном вижу бизнес-процессы. logi c тесно связан с отдельными маршрутами, напрямую принимает объекты запроса и обрабатывает ответы. Только в качестве запоздалой мысли кажется, что иногда предлагается способ извлечения «часто используемого кода» в вспомогательные функции.
Я что-то упустил? Почему этот шаблон является стандартом дизайна API? Это лучшая практика по причине?