Английская лексика: Разработка программного обеспечения · Архитектура, шаблоны проектирования и графика

Что значит dependency injection?

Значение и примеры · Разработка программного обеспечения

существительноеТермин продвинутого уровня

dependency injection: внедрение зависимостей, инъекция зависимостей

Приём, при котором объект получает необходимые ему компоненты, например клиент базы данных, извне, а не создаёт их сам; это упрощает тестирование кода.

Где и как употребляется

Часто сокращается до DI. В Spring, ASP.NET Core и Angular есть встроенные контейнеры внедрения зависимостей. Тестам можно передать имитацию вместо реальной службы. Зависимость внедряют, часто через конструктор.

Примеры предложений

  1. Thanks to dependency injection, the tests use a fake payment client instead of the real one.

    Благодаря внедрению зависимостей тесты используют поддельный клиент оплаты вместо настоящего.

    Тестовая подмена передаётся объекту извне.

  2. Don't create the logger inside the class; use dependency injection and pass it in.

    Не создавайте регистратор внутри класса; используйте внедрение зависимостей и передайте его извне.

    Компонент logger поступает классу как зависимость, а не создаётся внутри.

Распространённые словосочетания

  • DI container
  • constructor injection
  • inject a dependency
  • use dependency injection