2013/4/22 Marco Giusti <marco.giu...@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-
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a