#3 – Сервисы и бизнес-логика

#3 – Сервисы и бизнес-логика

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

Видеоурок

Когда мы только начинаем работать с NestJS, кажется удобным писать всю логику прямо в контроллерах. Мы создаём маршрут, обрабатываем данные и сразу возвращаем ответ. Но чем больше становится приложение, тем больше появляется проблем: код сложно поддерживать, он становится громоздким и запутанным.


Именно поэтому в NestJS существуют сервисы. Это отдельные классы, которые отвечают за всю бизнес-логику приложения. Контроллеры лишь принимают запрос, передают данные сервису и возвращают результат пользователю. Такой подход делает проект более понятным, структурированным и удобным для масштабирования.


Зачем нужны сервисы?

Сервисы помогают разделить обязанности в коде. Контроллеры занимаются маршрутизацией, а сервисы — реальными действиями: обработкой данных, взаимодействием с базой данных, проверками и вычислениями.


Представьте, что вы пишете приложение для управления задачами. В контроллере будут маршруты: «получить список задач», «создать задачу», «удалить задачу». Но сама логика — где хранить задачи, как они создаются, как искать их по ID — будет лежать в сервисе. В результате контроллеры остаются лёгкими, а сервисы можно повторно использовать в разных местах.


Внедрение зависимостей

NestJS построен на концепции Dependency Injection (внедрение зависимостей). Это значит, что сервисы можно подключать к контроллерам автоматически. Вы просто указываете сервис в конструкторе контроллера, и Nest сам создаёт экземпляр и передаёт его. Благодаря этому разные части приложения легко взаимодействуют между собой, оставаясь при этом независимыми.

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

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

Также стоит посмотреть

Изучение таск-менеджера Gulp 4
5 уроков
Курс Nuxt JS / Изучение Nuxt.js фреймворка
8 уроков
Уроки Node JS и Express для начинающих
13 уроков
Фреймворк Next JS / Изучение NextJS для начинающих
8 уроков
Создание приложения на React JS / Использование API
7 уроков
MERN Stack / Разработка веб-приложения
9 уроков
Комментарии
Добавить комментарий

Пока комментариев нет