В этой статье хорошо написано, когда нужен интерфейс и зачем он нужен
sergeyteplyakov.blogspot.com/2014/12/what-are-inte...
А от себя добавлю, что фанатичное придерживание принципов SOLID может привести к обратному, а именно увеличению сложности проекта.