Junior — Middle
İnkişaf praktikasında SOLID prinsiplərindən açıq/bağlı prinsipini necə həyata keçirmək olar nümunə göstərə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Açıq/bağlı Prinsipi deyir ki, proqram təminatı varlıqları genişlənməyə açıq, lakin dəyişikliklərə qapalı olmalıdır.
Android inkişafında, bu, məsələn, abstraksiyalar və irsiyyət vasitəsilə həyata keçirilə bilər. Mövcud sinfi dəyişdirmək əvəzinə, funksionallığı genişləndirən yeni sinf yaradırıq.
Nümunə:
// Əsas interfeys
interface NotificationSender {
fun send(message: String)
}
// Email ilə göndərmə üçün tətbiq
class EmailSender : NotificationSender {
override fun send(message: String) {
// email göndərmə məntiqi
}
}
// Sonradan, SMS göndərmə əlavə etmək lazımdır, EmailSender-ı dəyişdirmədən, yeni sinf əlavə edirik
class SmsSender : NotificationSender {
override fun send(message: String) {
// SMS göndərmə məntiqi
}
}
// İstifadə
fun notifyUser(sender: NotificationSender, message: String) {
sender.send(message)
}
Beləliklə, yeni bildiriş göndərmə üsulu əlavə etmək istəsək, sistemi yeni sinflər yaradaraq genişləndiririk, mövcud kodu dəyişdirmədən.