Interface pollution — создание интерфейсов "на всякий случай", когда они не нужны. Типичный Java-паттерн: для каждого сервиса создаётся интерфейс с единственной реализацией. В Go это антипаттерн. Интерфейс нужен когда: есть несколько реализаций, нужен мок для тестирования, или пакет хочет принимать абстракцию а не конкретный тип. "The bigger the interface, the weaker the abstraction" — Go Proverb. io.Reader (1 метод) сильнее чем DatabaseServiceInterface (20 методов). Определяй интерфейс на стороне потребителя, не провайдера.