Middle
Was ist ein Dekorator?
sobes.tech KI
Antwort von AI
Ein Decorator ist ein Entwurfsmuster, das es ermöglicht, einem Objekt dynamisch neues Verhalten hinzuzufügen, ohne seine Struktur zu verändern.
Hauptmerkmale:
- Flexibilität: Ermöglicht das Hinzufügen oder Entfernen von Funktionalitäten bei Objekten zur Laufzeit.
- Unabhängigkeit: Neue Funktionalität kann unabhängig von der Basisklasse hinzugefügt werden.
- Verwendung von Komposition: Der Decorator enthält eine Referenz auf das dekorierte Objekt und leitet Anfragen an dieses weiter, wobei er vor oder nach der Ausführung Logik hinzufügt.
Anwendungen:
- Protokollierung
- Zugriffskontrolle (Authentifizierung/Autorisierung)
- Hinzufügen von Metadaten
- Änderung des Verhaltens von Methoden
Beispiel in Python:
# Einfache Funktion zum Dekorieren
def my_function():
return "Hello"
# Decorator
def simple_decorator(func):
def wrapper():
print("Vor dem Funktionsaufruf")
result = func()
print("Nach dem Funktionsaufruf")
return result
return wrapper
# Anwendung des Decorators
@simple_decorator
def decorated_function():
return "World"
# Aufruf der dekorierten Funktion
# decorated_function() würde ausgeben:
# Vor dem Funktionsaufruf
# Nach dem Funktionsaufruf
# und "World" zurückgeben