[Python] dependency injection con i decoratori
Federico Fissore
federico a fsfe.org
Ven 2 Ott 2020 17:12:16 CEST
Matteo Scarpa wrote on 02/10/20 16:30:
> Lo puoi fare scrivendo una cosa tipo:
>
> def decoratore(func, collaboratori):
> def inner(*args, **kwargs):
> ...
> return inner
>
> @decoratore(collaboratore1)
> def func1():
> pass
>
> Spero di essere stato chiaro. Se vuoi vedere cose piú avanzate
> suggerisco di dare una sbirciata al sorgente di Flask che fa proprio
> queste cose.
>
Ti ringrazio Matteo, darò un'occhiata ai sorgenti di Flask
La mia idea era di evitare di passare tutti i collaboratori ogni volta
che aggiungo il decoratore: l'unico modo che conosco per farlo è
definirli a livello di modulo, quindi in fase di testing diventa poi
difficile passare al decoratore un collaboratore finto o mocckato, a
meno di fare monkey patching
federico
Maggiori informazioni sulla lista
Python