Middle
Ce este un decorator?
sobes.tech AI
Răspuns de la AI
Decoratoarele sunt un model de proiectare care permite adăugarea dinamică a unui comportament nou unui obiect fără a-i modifica structura.
Caracteristici principale:
- Flexibilitate: Permite adăugarea sau eliminarea funcționalităților obiectelor în timpul execuției.
- Independență: Funcționalitatea nouă poate fi adăugată independent de clasa principală.
- Utilizarea compoziției: Decoratorul conține o referință la obiectul decorat și redirecționează solicitările către acesta, adăugând logică înainte sau după execuție.
Aplicații:
- Înregistrare
- Verificarea accesului (autentificare/autorizare)
- Adăugarea de metadate
- Modificarea comportamentului metodelor
Exemplu în Python:
# Funcție simplă pentru decorare
def my_function():
return "Hello"
# Decorator
def simple_decorator(func):
def wrapper():
print("Înainte de apelul funcției")
result = func()
print("După apelul funcției")
return result
return wrapper
# Aplicarea decoratorului
@simple_decorator
def decorated_function():
return "World"
# Apelarea funcției decorate
# decorated_function() va afișa:
# Înainte de apelul funcției
# După apelul funcției
# și va returna "World"