Sobes.tech
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.