Middle
Čo je to dekorátor?
sobes.tech AI
Odpoveď od AI
Dekorátor je vzor návrhu, ktorý umožňuje dynamicky pridávať nové správanie objektu bez zmeny jeho štruktúry.
Hlavné vlastnosti:
- Flexibilita: Umožňuje pridávať alebo odstraňovať funkcie objektov počas behu.
- Nezávislosť: Nové funkcie môžu byť pridané nezávisle od hlavnej triedy.
- Použitie kompozície: Dekorátor obsahuje odkaz na dekorovaný objekt a presmerováva požiadavky naň, pridávajúc logiku pred alebo po vykonaní.
Použitie:
- Logovanie
- Kontrola prístupu (autentifikácia/autorizácia)
- Pridanie metadát
- Zmena správania metód
Príklad v Pythone:
# Jednoduchá funkcia na dekorovanie
def my_function():
return "Hello"
# Dekorátor
def simple_decorator(func):
def wrapper():
print("Pred volaním funkcie")
result = func()
print("Po volaní funkcie")
return result
return wrapper
# Použitie dekorátora
@simple_decorator
def decorated_function():
return "World"
# Volanie dekorovanej funkcie
# decorated_function() vypíše:
# Pred volaním funkcie
# Po volaní funkcie
# a vráti "World"