Junior — Middle
Oby obyektyönümlü proqramlaşdırmada interfeyslərin bölünmə prinsipini izah edə bilərsənmi?
sobes.tech Süni İntellekt
AI-dan cavab
Interfeyslerin Ayrılması Prinsipi (Interface Segregation Principle, ISP) deyir ki, bir çox ixtisoslaşmış interfeys yaratmaq, ümumi bir interfeysdən daha yaxşıdır. Müştərilər istifadə etmədikləri metodlara bağlı olmamalıdır.
Əməliyyatda, əgər çox sayda metod olan bir interfeysiniz varsa və müxtəlif sinflər yalnız bir hissəsini istifadə edirsə, interfeysi daha dar bir neçə interfeysə bölmək yaxşıdır. Bu, elastikliyi artırır və kodun saxlanmasını asanlaşdırır.
Məsələn, iOS-də şəbəkə və verilənlər bazası ilə işləmək üçün interfeysləri ayıra bilərsiniz:
protocol NetworkService {
func fetchData()
}
protocol DatabaseService {
func saveData()
}
class DataManager: NetworkService, DatabaseService {
func fetchData() {
// məlumatların yüklənməsinin həyata keçirilməsi
}
func saveData() {
// məlumatların saxlanmasının həyata keçirilməsi
}
}
Beləliklə, yalnız şəbəkə funksiyalarını istifadə edən sinif yalnız NetworkService-ə bağlı ola bilər, məlumatların saxlanma metodlarını bilmədən.