Sobes.tech
Junior — Middle

Obyektga yo'naltirilgan dasturlashda Delegation shablonining roli nima va nima uchun foydalaniladi?

sobes.tech AI

AIdan javob

Obyekt yo'naltirilgan dasturlashda Delegatsiya naqshasi — bu ma'lum bir vazifani bajarish uchun javobgarlikni boshqa ob'ektga o'tkazish usulidir. Klass o'zining funksionalligini amalga oshirish o'rniga, uni bu vazifaga ixtisoslashgan boshqa ob'ektga delegatsiya qiladi.

Bu quyidagilarni imkonini beradi:

  • Klasslar o'rtasida mas'uliyatlarni bo'lishish, moduliylikni yaxshilash.
  • Kodni qayta ishlatishni oshirish.
  • Funksionallikni qo'llab-quvvatlash va kengaytirishni soddalashtirish.
  • Merosxo'rlik o'rniga, kompozitsiya etarli bo'lsa, undan foydalanish.

Masalan, Androidda, voqealarni boshqarish uchun delegatsiya keng qo'llaniladi: faoliyat tugma bosish voqealarini alohida tinglovchi ob'ektga delegatsiya qiladi.

class ButtonHandler {
    fun onClick() {
        println("Tugma bosildi")
    }
}

class Activity {
    private val handler = ButtonHandler()

    fun buttonClicked() {
        handler.onClick()  // delegatsiya qilish
    }
}