Чем Dependency Injection отличается от service locator?

FlutterMiddle+: проектирует решение с учетом lifecycle, ошибок и поддержкиArchitectureТеорияarchitectureditestability

Что хотят услышать интервьюеры:

Отличие от service locator: Dependency Injection обычно используют, когда нужна задача из контекста «DI», а service locator применяют в другом уровне абстракции или при другой сложности.

Ответ:

Как выбирать:

  • зависимость от абстракций облегчает mock/fake
  • composition root собирает граф
  • оцените стоимость поддержки, тестируемость и понятность для команды

Ошибка: выбирать инструмент по привычке, а не по требованиям конкретного flow. Сильный ответ: приведите пример, когда Dependency Injection уместен, и пример, когда лучше выбрать service locator.

Источники

Похожие вопросы