Senior
Arayüzü nerede tanımlamak daha iyidir — uygulama yerinde mi yoksa kullanım yerinde mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da, arayüzleri uygulama yerinde tanımlamak yerine kullanım yerinde tanımlamak daha iyidir. Bu, yalnızca tüketicinin gerçekten ihtiyaç duyduğu yöntemleri tanımlayan minimum arayüzler oluşturmayı sağlar.
Bu yaklaşım esnekliği artırır ve testleri basitleştirir, çünkü uygulama tüm arayüzleri bilmek zorunda değildir, sadece ihtiyaç duyduğu arayüzleri.
Örnek:
// Kullanım yerinde
type Reader interface {
Read(p []byte) (n int, err error)
}
func Process(r Reader) {
// sadece Read metodunu kullanır
}
// Uygulama yerinde
type File struct {}
func (f *File) Read(p []byte) (int, error) {
// uygulama
}
Bu şekilde, arayüz müşteri ihtiyaçlarına göre tanımlanır, uygulamaya değil.