Sobes.tech
Senior

İnterfeysi harada təyin etmək daha yaxşıdır — tətbiq yerindəmi yoxsa istifadə yerindəmi?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, interfeysləri istifadə yerində təyin etmək daha yaxşıdır, yerinə yetirmə yerində deyil. Bu, yalnız istehlakçının ehtiyac duyduğu metodları təsvir edən minimal interfeyslər yaratmağa imkan verir.

Bu yanaşma elastikliyi artırır və testləri sadələşdirir, çünki həyata keçirmə bütün interfeysləri bilməyə ehtiyac duymur, yalnız ona lazım olanları.

Nümunə:

// İstifadə yerində
type Reader interface {
    Read(p []byte) (n int, err error)
}

func Process(r Reader) {
    // yalnız Read metodundan istifadə edir
}

// İcra yerində
type File struct {}
func (f *File) Read(p []byte) (int, error) {
    // həyata keçirmə
}

Beləliklə, interfeys müştərinin ehtiyaclarına əsasən müəyyən edilir, həyata keçirməyə yox.