dev-tools
Словарь ↗Dependency Injection (внедрение зависимостей)
Dependency injection (внедрение зависимостей, DI) — паттерн проектирования, при котором объект получает нужные ему вещи извне — их передают в конструктор или метод — вместо того чтобы создавать их самому. Вместо того чтобы сервис сам инстанцировал своё подключение к базе или HTTP-клиент, эти зависимости «внедряет» вызывающая сторона или DI-контейнер. Выигрыш — слабая связанность и тестируемость: раз зависимость подаётся снаружи, в тестах можно подменить настоящую базу моком или сменить реализацию, не трогая класс, который её использует. DI — в основе фреймворков вроде Spring, Angular, NestJS и сервис-контейнера Laravel. Для AI/SaaS-разработчиков DI — это то, что делает кодовую базу тестируемой и настраиваемой: один и тот же код можно направить на реального LLM-провайдера в продакшене и на фейкового в тестах или менять провайдеров через конфиг. Практическая заметка: DI добавляет косвенность, поэтому не переусложняйте крошечный скрипт полноценным контейнером — берите его, когда есть реальные швы, которые нужно подменять или тестировать.
Похожие термины