Вероятно, есть много способов ответить на этот вопрос, но одно преимущество использования интерфейса (особенно с шаблоном, подобным шаблону репозитория) в вашем DataProvider заключается в том, что вы можете смоделировать этот интерфейс, что позволит вам выполнить модульное тестирование кода, который использует DataProvider проще.