Я заметил, что когда я выполняю TDD, это часто приводит к очень большому количеству интерфейсов. Для классов, у которых есть зависимости, они вводятся через конструктор обычным образом:
public class SomeClass
{
public SomeClass(IDependencyA first, IDependency second)
{
// ...
}
}
В результате почти каждый класс будет реализовывать интерфейс.
Да, код будет отделен и его можно будет очень легко протестировать изолированно , но будут и дополнительные уровни косвенности, из-за которых я чувствую себя немного ... неловко. Что-то не так.
Может ли кто-нибудь поделиться другими подходами, которые не предполагают такого интенсивного использования интерфейсов?
Как дела у остальных, ребята?