Junior — Middle
Em que lugares é recomendado declarar interfaces no código de programação?
sobes.tech IA
Resposta da IA
No Go, recomenda-se declarar interfaces nos locais onde são usadas, e não onde são implementadas. A ideia é que a interface descreva o comportamento necessário ao cliente, e não a implementação.
Frequentemente, as interfaces são declaradas:
- Nos pacotes onde são consumidas (usadas), e não nos pacotes onde são implementadas.
- Nos locais onde é necessário abstrair de uma implementação concreta.
Isso facilita os testes e a extensibilidade do código. Por exemplo, se uma função aceita uma interface, ela não depende de um tipo específico, apenas de um conjunto de métodos.
Exemplo:
// No pacote client
type Reader interface {
Read(p []byte) (n int, err error)
}
func Process(r Reader) {
// Usamos Read, sem conhecer a implementação concreta
}
A implementação da interface pode estar em outro pacote e não requer declaração explícita.