Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Duvida Decorator

Boa noite a todos! Eu entendi a ideia e função desse pattern, mas minha duvida é como isso seria feito dinamicamente ? Supondo que tem uma interface onde o usuário escolhe quais impostos ele quer somar [imposto1, imposto2, imposto3, imposto4, imposto5, etc]

O usuário diria que queria a soma do imposto1, imposto 3, imposto4.

Como isso séria feito dinamicamente ?

Eu imagino um for, lendo essa lista de impostos selecionados, e de alguma maneira nesse for criando algo no final imposto1(imposto2(imposto3())).calcula()

Como isso seria possível?

PS: Tô viajando aqui, não sei se a linguagem permite tal coisa. Segue o link do que comecei https://repl.it/repls/WellgroomedAlienatedFilename

1 resposta

Oi Thiago, tudo bom?

Para tornar a criação das classes dinâmica podemos usar api de reflection do Python.

Reflection é um conceito de orientação a objetos avançado com o qual conseguimos criar instâncias a partir de textos.

Ou seja, em algum lugar a gente receberia o texto indicando de qual imposto estamos falando e assim, daríamos new nas classes certas =)

Abraço