Как справиться с чрезмерным использованием интерфейса в TDD?

Я заметил, что когда я выполняю TDD, это часто приводит к очень большому количеству интерфейсов. Для классов, у которых есть зависимости, они вводятся через конструктор обычным образом:

public class SomeClass
{
    public SomeClass(IDependencyA first, IDependency second)
    {
        // ...
    }
}

В результате почти каждый класс будет реализовывать интерфейс.

Да, код будет отделен и его можно будет очень легко протестировать изолированно , но будут и дополнительные уровни косвенности, из-за которых я чувствую себя немного ... неловко. Что-то не так.

Может ли кто-нибудь поделиться другими подходами, которые не предполагают такого интенсивного использования интерфейсов?

Как дела у остальных, ребята?

23
задан Chris 25 March 2011 в 08:24
поделиться