В самом наивном смысле слова «передача зависимости единице работы», то да, это внедрение зависимости.
В более широком смысле «передача зависимостей, необходимых для единицы работы для достижения своей ответственности», не совсем.
Целью внедрения зависимостей является, в конечном счете, написание более чистого кода, который легче рассуждать, поддерживать, тестировать и развивать. Чтобы сделать это, мы организуем ответственность в чем-то (будь то функция, класс, библиотека или что-то еще). Все, что необходимо для того, чтобы эта ответственность появилась, должно быть передано, а не создано внутри объекта, где его нельзя смоделировать, изменить или настроить.
Классы не являются репозиториями методов, каждый из которых получает свои зависимости, для этого мы можем использовать функции. В этом случае «зависимость» скорее всего будет тем, что нужно A
, чтобы знать, что bar()
они должны вызывать на SomeClass
.