Зачем используют интерфейсы при проектировании архитектуры приложения?
Использование интерфейсов это всего лишь подход,который упрощает тестирование и позволяет более легко подменять реализацию, и еще много чего.  С использованием интерфейсов проще создавать декомпозитные приложения с возможностью расширяемых модулей. Самый простой и понятный пример зачем нужны интерфесы, это создать систему подключаемых плагинов к приложению.www.vr-online.ru/content/c-plagin-za-5-sekund-3890
Для полиморфизма