Junior — Middle
Layihədə interfeyslərin ayrılmasının haqlı olduğu bir nümunə verə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
İnterfeyslərin bölünməsi, böyük bir interfeysiniz varsa və bütün müştərilər üçün hər zaman lazım olmayan çoxsaylı metodlar ehtiva edirsə, əsaslandırılır. Məsələn, iOS layihəsində, protokolu daha dar bir neçə protokola bölə bilərsiniz ki, müxtəlif sinflər yalnız onlara lazım olan metodları həyata keçirsinlər. Bu, kodun oxunaqlığını yaxşılaşdırır və dəstəyini asanlaşdırır.
Nümunə: MediaPlayable adlı bir protokol var və play(), pause(), stop(), record() metodlarını ehtiva edir. Əgər sinif yalnız oynatma ilə məşğuldursa, ona record()-u həyata keçirmək lazım deyil. Onda, onu iki protokola bölmək olar:
protocol MediaPlayable {
func play()
func pause()
func stop()
}
protocol MediaRecordable {
func record()
}
Beləliklə, sinflər yalnız ehtiyac duyduqları interfeysləri həyata keçirirlər.