Sobes.tech
Junior — Middle

SOLID ilkelerinden açılma/kapanma ilkesini uygulamada nasıl örneklendirebilirsin?

sobes.tech yapay zeka

AI'dan gelen yanıt

A Açık/Kapalı Prensibi, yazılım varlıklarının genişletilmeye açık, ancak değiştirmeye kapalı olması gerektiğini söyler.

Android geliştirmede, bu, örneğin soyutlamalar ve kalıtım kullanılarak gerçekleştirilebilir. Varolan bir sınıfı değiştirmek yerine, işlevselliği genişleten yeni bir sınıf oluşturuyoruz.

Örnek:

// Temel arayüz
interface NotificationSender {
    fun send(message: String)
}

// Email ile gönderim için uygulama
class EmailSender : NotificationSender {
    override fun send(message: String) {
        // email gönderme mantığı
    }
}

// Daha sonra, SMS gönderimini eklemek gerekirse, EmailSender'ı değiştirmeden yeni bir sınıf ekliyoruz
class SmsSender : NotificationSender {
    override fun send(message: String) {
        // SMS gönderme mantığı
    }
}

// Kullanım
fun notifyUser(sender: NotificationSender, message: String) {
    sender.send(message)
}

Bu şekilde, yeni bir bildirim gönderme yöntemi eklemek istediğimizde, mevcut kodu değiştirmeden yeni sınıflar oluşturarak sistemi genişletebiliriz.