Sobes.tech
Junior — Middle

Obyekt yönümlü proqramlaşdırmada Delegation nümunəsinin rolu nədir və niyə istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Obyekt yönümlü proqramlaşdırmada Delegasiya nümunəsi müəyyən bir vəzifənin yerinə yetirilməsi məsuliyyətinin başqa bir obyektə ötürülməsi üsuludur. Sinif özü müəyyən funksionallığı həyata keçirmək əvəzinə, onu bu vəzifədə ixtisaslaşmış başqa obyektə delegasiya edir.

Bu aşağıdakıları təmin edir:

  • Sinflər arasında məsuliyyətlərin bölünməsi, modullluğu artırır.
  • Kodun təkrar istifadəsini yüksəldir.
  • Funksionallığın dəstəklənməsini və genişləndirilməsini sadələşdirir.
  • Əgər kompozisiya kifayət edirsə, irsiyyətin qarşısını alır.

Məsələn, Android-də hadisələrin idarə olunması üçün delegasiya tez-tez istifadə olunur: fəaliyyət düymələrin kliklərini ayrıca dinləyici obyektə delegasiya edir.

class ButtonHandler {
    fun onClick() {
        println("Düymə klikləndi")
    }
}

class Activity {
    private val handler = ButtonHandler()

    fun buttonClicked() {
        handler.onClick()  // idarəni delegasiya edirik
    }
}