Это использование интерфейсов против какой-либо передовой практики?
Нет, это нормально и распространено (при условии, что ваш интерфейс не пустой и имеет сигнатуру метода, такую как bool IsValid(T entity)
).
Что заставляет вас думать, что это должно быть? Если вы сообщите нам, мы можем уточнить.