Sobes.tech
Junior — Middle

Масалан, чӣ гуна метавон принсипи кушодан/баста шудани SOLID-ро дар амал татбиқ кард?

sobes.tech AI

Ҷавоб аз AI

Принципи кушоданӣ/кушоданӣ мегӯяд, ки объектҳои нармафзор бояд барои васеъ кардан кушод бошанд, аммо барои тағир додан баста бошанд.

Дар рушди Android, ин метавонад, масалан, тавассути истифодаи абстраксияҳо ва меросӣ амалӣ карда шавад. Ба ҷои тағир додани синфи мавҷуда, синфи наве месозем, ки функсионалиро васеъ мекунад.

Масалан:

// Интерфейси асосӣ
interface NotificationSender {
    fun send(message: String)
}

// Иҷро барои фиристодани Email
class EmailSender : NotificationSender {
    override fun send(message: String) {
        // логикаи фиристодани email
    }
}

// Баъдтар, бояд фиристодани SMS илова кунем, бе тағир додани EmailSender, синфи нав илова мекунем
class SmsSender : NotificationSender {
    override fun send(message: String) {
        // логикаи фиристодани SMS
    }
}

// Истифода
fun notifyUser(sender: NotificationSender, message: String) {
    sender.send(message)
}

Ин гуна, агар мо хоҳем, ки усули нав барои фиристодани огоҳинома илова кунем, системаро бо эҷоди синфҳои нав васеъ мекунем, бе тағир додани коди мавҷуда.