Логотип

DI

Технологии и инженерия

Определение

Внедрение зависимостей (англ. Dependency Injection, сокращенно DI) — прием, при котором часть программы получает нужные ей сервисы снаружи и не создает их сама. Модуль заказов не решает, какой платежный сервис использовать: его передают при запуске. Аналогия: повар получает продукты от снабжения и сам на рынок не ездит, поэтому поставщика можно сменить, не переучивая повара. Для бизнеса это значит, что замена банка или почтового сервиса затрагивает одно место в коде. В тестах вместо настоящего сервиса подставляют заглушку, и модульные тесты пишутся проще. DI — частный случай инверсии управления, и его поддерживает большинство фреймворков.