Junior — Middle
Nesne yönelimli programlamada arayüzlerin ayrılması ilkesini açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Arayüzlerin Ayrılması İlkesi (Interface Segregation Principle, ISP), birden fazla uzmanlaşmış arayüz oluşturmanın, tek bir evrensel arayüzden daha iyi olduğunu söyler. Müşteriler, kullanmadıkları yöntemlere bağlı olmamalıdır.
Pratikte, birçok yöntemi olan ve farklı sınıfların sadece bir kısmını kullandığı bir arayüze sahipseniz, arayüzü daha dar birkaç arayüze bölmek iyi olur. Bu, esnekliği artırır ve kodun bakımını kolaylaştırır.
Örneğin, iOS'ta ağ ve veritabanı ile çalışma arayüzünü ayırabilirsiniz:
protocol NetworkService {
func fetchData()
}
protocol DatabaseService {
func saveData()
}
class DataManager: NetworkService, DatabaseService {
func fetchData() {
// veri yükleme uygulaması
}
func saveData() {
// veri kaydetme uygulaması
}
}
Bu şekilde, sadece ağ fonksiyonlarını kullanan bir sınıf, sadece NetworkService'e bağlı olabilir, veri kaydetme yöntemlerini bilmeden.