Middle
¿Qué es un decorador?
sobes.tech AI
Respuesta de la IA
El decorador es un patrón de diseño que permite agregar dinámicamente un comportamiento nuevo a un objeto sin modificar su estructura.
Características principales:
- Flexibilidad: Permite agregar o eliminar funcionalidades de los objetos en tiempo de ejecución.
- Independencia: La nueva funcionalidad puede añadirse independientemente de la clase principal.
- Uso de composición: El decorador contiene una referencia al objeto decorado y redirige las solicitudes a él, añadiendo lógica antes o después de la ejecución.
Aplicaciones:
- Registro
- Verificación de acceso (autenticación/autorización)
- Añadir metadatos
- Modificar el comportamiento de los métodos
Ejemplo en Python:
# Función simple para decorar
def my_function():
return "Hello"
# Decorador
def simple_decorator(func):
def wrapper():
print("Antes de llamar a la función")
result = func()
print("Después de llamar a la función")
return result
return wrapper
# Uso del decorador
@simple_decorator
def decorated_function():
return "World"
# Llamada a la función decorada
# decorated_function() produciría:
# Antes de llamar a la función
# Después de llamar a la función
# y devolvería "World"