Middle
Qu'est-ce qu'un décorateur?
sobes.tech IA
Réponse de l'IA
Un décorateur est un patron de conception qui permet d'ajouter dynamiquement un comportement nouveau à un objet sans en modifier la structure.
Caractéristiques principales :
- Flexibilité : Permet d'ajouter ou de supprimer des fonctionnalités aux objets en cours d'exécution.
- Indépendance : La nouvelle fonctionnalité peut être ajoutée indépendamment de la classe principale.
- Utilisation de la composition : Le décorateur contient une référence à l'objet décoré et redirige les requêtes vers lui, en ajoutant une logique avant ou après l'exécution.
Applications :
- Journalisation
- Vérification d'accès (authentification/autorisation)
- Ajout de métadonnées
- Modification du comportement des méthodes
Exemple en Python :
# Fonction simple pour décorer
def my_function():
return "Hello"
# Décorateur
def simple_decorator(func):
def wrapper():
print("Avant l'appel de la fonction")
result = func()
print("Après l'appel de la fonction")
return result
return wrapper
# Application du décorateur
@simple_decorator
def decorated_function():
return "World"
# Appel de la fonction décorée
# decorated_function() produirait :
# Avant l'appel de la fonction
# Après l'appel de la fonction
# et retournerait "World"