[Python] Metodi decorati con classi
enrico franchi
enrico.franchi a gmail.com
Lun 22 Apr 2013 14:21:50 CEST
2013/4/22 Marco Giusti <marco.giusti a gmail.com>:
> A questo punto mi chiedo l'utilità di avere una classe come decoratore.
> Incapsulazione? Ereditarietà?
Dipende. A volte e' semplicemente piu' leggibile. Specialmente, a mio
avviso quando hai decoratori di questo tipo:
@foo(some args)
def blah(...):
...
In questo caso con le funzioni hai due livelli di funzioni nestate,
che puo' essere o meno chiaro.
Con la classe hai nell' __init__ la parte che riguarda i some args,
nel __call__ la parte che processa blah.
Inoltre nei casi in cui vuoi che i decoratori abbiano stato condiviso,
la classe puo' essere un posto ovvio dove metterlo.
A me qualche volta e' capitato di fare queste cose. A volte ho usato
le funzioni comunque, altre volte, riflettendoci, ho trovato il codice
con la classe piu' chiaro.
--
.
..: -enrico-
Maggiori informazioni sulla lista
Python