Middle
O que é um decorador?
sobes.tech IA
Resposta da IA
O decorador é um padrão de projeto que permite adicionar dinamicamente um novo comportamento a um objeto sem alterar a sua estrutura.
Características principais:
- Flexibilidade: Permite adicionar ou remover funcionalidades dos objetos em tempo de execução.
- Independência: A nova funcionalidade pode ser adicionada independentemente da classe principal.
- Uso de composição: O decorador contém uma referência ao objeto decorado e redireciona as solicitações para ele, adicionando lógica antes ou depois da execução.
Aplicações:
- Registo
- Verificação de acesso (autenticação/autorização)
- Adição de metadados
- Alteração do comportamento dos métodos
Exemplo em Python:
# Função simples para decorar
def my_function():
return "Hello"
# Decorador
def simple_decorator(func):
def wrapper():
print("Antes da chamada da função")
result = func()
print("Depois da chamada da função")
return result
return wrapper
# Uso do decorador
@simple_decorator
def decorated_function():
return "World"
# Chamada da função decorada
# decorated_function() produziria:
# Antes da chamada da função
# Depois da chamada da função
# e retornaria "World"