Я слышал утверждения, что " @ImplementedBy является злым", на том основании, что он нарушает концепции DI и информирует интерфейс о своих разработчиках.
В некоторых случаях это может быть правдой, но часто я обнаружил, что он просто приводит к более чистым кодам (без длинных модулей для поддержки), но в действительности не причиняет вреда этому процессу.
Как прагматики, а не пуристы, когда, по вашему мнению, стоит использовать @ImplementedBy?