Sobes.tech
Middle

Dekorator nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Dekorator — bu dizayn nümunəsidir və obyektə dinamik olaraq yeni davranış əlavə etməyə imkan verir, onun strukturunu dəyişmir.

Əsas xüsusiyyətlər:

  • Əlverişlilik: Obiektlərin funksionallığını işləmə zamanı əlavə etməyə və ya çıxarmağa imkan verir.
  • Müstəqillik: Yeni funksionallıq əsas sinfdən müstəqil şəkildə əlavə oluna bilər.
  • Kompozisiyadan istifadə: Dekorator, dekorasiya olunan obyektə istinad edir və sorğuları ona yönəldir, icra əvvəlində və ya sonra məntiq əlavə edir.

Tətbiqlər:

  • Loglama
  • Girişə nəzarət (avtentifikasiya/avtorizasiya)
  • Meta məlumatların əlavə olunması
  • Metodların davranışını dəyişdirmək

Python nümunəsi:

# Sadə dekorasiya funksiyası
def my_function():
    return "Hello"

# Dekorator
def simple_decorator(func):
    def wrapper():
        print("Funksiyanın çağırışından əvvəl")
        result = func()
        print("Funksiyanın çağırışından sonra")
        return result
    return wrapper

# Dekoratorun tətbiqi
@simple_decorator
def decorated_function():
    return "World"

# Dekorasiya olunmuş funksiyanın çağırılması
# decorated_function() aşağıdakı çıxışı verəcək:
# Funksiyanın çağırışından əvvəl
# Funksiyanın çağırışından sonra
# və "World" qaytaracaq