Вопрос проверяет понимание того, как объявлять и хранить зависимости так, чтобы класс был тестируемым и слабо связанным.
Короткий ответ
Внедряемую зависимость следует представлять в виде абстракции, чаще всего протокола. Она должна передаваться извне, обычно через инициализатор. Внутри класса зависимость хранится как свойство с минимально необходимым интерфейсом. Это делает зависимости явными и упрощает тестирование. Класс перестаёт зависеть от конкретной реализации.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.