Проектирование программного обеспечения только с помощью интерфейсов?

Хорош ли подход, когда при проектировании программного обеспечения взаимодействие классов описывается только интерфейсами? Если да, то должен ли я всегда использовать этот подход?

Я должен разработать библиотеку классов, которая должна иметь высокую тестируемость (я использую C#).

Эта библиотека имеет один фасад и некоторое количество классов с различными взаимодействиями на заднем плане.

В случае оптимизации этой библиотеки для хорошей тестируемости я заменил большую часть классов на интерфейсы.

И когда я это сделал, я увидел на диаграмме связей (диаграмма классов Visual Studio) только интерфейсы.

Это нормальное решение моей проблемы? Или должен быть какой-то другой подход?

P/S: Возможно, это хорошо известный способ в программном проектировании, но я не могу найти подтверждения в книгах, которые у меня есть.

6
задан Kyrylo M 22 September 2011 в 13:25
поделиться