Вопрос проверяет понимание dependency injection и роли абстракций в тестируемом коде.
Короткий ответ
Если зависимость передается напрямую как конкретный класс, ее сложно заменить в тестах. Без протокола код жестко связан с реализацией. Это ограничивает возможность подмены поведения. Протокол позволяет использовать mock вместо реального объекта. Без него тестируемость остается низкой.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.