Sobes.tech
Middle

Dekoratör nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Dekoratör, nesnesine dinamik olarak yeni davranışlar eklemeye olanak tanıyan bir tasarım desenidir ve yapısını değiştirmez.

Ana özellikler:

  • Esneklik: Nesnelerin fonksiyonelliğini çalışma zamanında eklemeye veya kaldırmaya olanak tanır.
  • Bağımsızlık: Yeni fonksiyonellik ana sınıftan bağımsız olarak eklenebilir.
  • Bileşim kullanımı: Dekoratör, dekor edilen nesneye bir referans içerir ve istekleri ona yönlendirir, ekleme veya sonrası işlemlerle mantık ekler.

Uygulamalar:

  • Günlük kaydı
  • Erişim kontrolü (kimlik doğrulama/yetkilendirme)
  • Meta verilerin eklenmesi
  • Metotların davranışının değiştirilmesi

Python örneği:

# Dekorasyon için basit fonksiyon
def my_function():
    return "Hello"

# Dekoratör
def simple_decorator(func):
    def wrapper():
        print("Fonksiyon çağrısından önce")
        result = func()
        print("Fonksiyon çağrısından sonra")
        return result
    return wrapper

# Dekoratörün kullanımı
@simple_decorator
def decorated_function():
    return "World"

# Dekore edilmiş fonksiyonun çağrılması
# decorated_function() şu çıktıyı verir:
# Fonksiyon çağrısından önce
# Fonksiyon çağrısından sonra
# ve "World" döner