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