Лучшая практика в DI, которую я читал в нескольких местах, - это не вводить объект B просто для того, чтобы добраться до объекта C, а вместо этого вводить C.
Но если единственный метод из C - это все, что требуется, вы бы просто внедрили этот метод вместо C?
Если так, то что, если потребуется несколько методов из C?Есть ли момент, когда просто удобнее передать весь объект и жить с тем фактом, что вы получаете вещи, которые вас не интересуют?
Или это указывает на то, что, возможно, в классе C слишком многоразличные обязанности и их нужно разделить на несколько небольших классов, объекты которых затем можно вводить без особого багажа?
Не бойтесь констатировать очевидное, для меня это все ново.