#3 – Сервисы и бизнес-логика
Відеоурок
Когда мы только начинаем работать с NestJS, кажется удобным писать всю логику прямо в контроллерах. Мы создаём маршрут, обрабатываем данные и сразу возвращаем ответ. Но чем больше становится приложение, тем больше появляется проблем: код сложно поддерживать, он становится громоздким и запутанным.
Именно поэтому в NestJS существуют сервисы. Это отдельные классы, которые отвечают за всю бизнес-логику приложения. Контроллеры лишь принимают запрос, передают данные сервису и возвращают результат пользователю. Такой подход делает проект более понятным, структурированным и удобным для масштабирования.
Зачем нужны сервисы?
Сервисы помогают разделить обязанности в коде. Контроллеры занимаются маршрутизацией, а сервисы — реальными действиями: обработкой данных, взаимодействием с базой данных, проверками и вычислениями.
Представьте, что вы пишете приложение для управления задачами. В контроллере будут маршруты: «получить список задач», «создать задачу», «удалить задачу». Но сама логика — где хранить задачи, как они создаются, как искать их по ID — будет лежать в сервисе. В результате контроллеры остаются лёгкими, а сервисы можно повторно использовать в разных местах.
Внедрение зависимостей
NestJS построен на концепции Dependency Injection (внедрение зависимостей). Это значит, что сервисы можно подключать к контроллерам автоматически. Вы просто указываете сервис в конструкторе контроллера, и Nest сам создаёт экземпляр и передаёт его. Благодаря этому разные части приложения легко взаимодействуют между собой, оставаясь при этом независимыми.
Матеріали для курсу
Щоб завантажувати матеріали до відеокурсів, необхідно оформити підписку на сайт
Завдання до уроку
Необхідно оформити передплату на проект, щоб отримати доступ до всіх домашніх завдань
Велике завдання за курсом
Вам необхідно оформити передплату на сайті, щоб мати доступ до всіх великих завдань. У завдання входить методика рішення, а також готовий проект з відповіддю до завдання.
PS: подібні завдання доступні при підписці від 1 місяця
Також варто подивитися