2013/4/22 Marco Giusti <[email protected]>:
> 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-
_______________________________________________
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python