Sobes.tech
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