Decorator è un modello di progettazione orientato agli oggetti che consente di aggiungere comportamenti alle classi esistenti in modo dinamico. È uno dei modelli di progettazione strutturale della Gang of Four.
Sono curioso di sapere cosa siano esattamente i decoratori in AngularJS. Non ci sono molte informazioni online per i decoratori, a parte uno sballo nella documentazione di AngularJS e una breve (sebbene interessante) menzione in un video di YouTube . Come dicono i ragazzi di Angular, un decoratore è: Decorazione …
Si può scrivere qualcosa del tipo: class Test(object): def _decorator(self, foo): foo() @self._decorator def bar(self): pass Questo fallisce: self in @self è sconosciuto Ho anche provato: @Test._decorator(self) che fallisce anche: Test sconosciuto Vorrei modificare temporaneamente alcune variabili di istanza nel decoratore e quindi eseguire il metodo decorato, prima di cambiarle …
Puoi dare qualche buona spiegazione qual è la differenza tra Proxy e Decorator ? La differenza principale che vedo è che quando assumiamo che Proxy usi la composizione e Decorator usi l' aggregazione , sembra chiaro che usando più (uno o più) Decoratori è possibile modificare / aggiungere funzionalità a …
Chiuso . Questa domanda deve essere più focalizzata . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 4 anni fa . Migliora questa domanda Qual è la differenza tra i modelli di …
In Python 2.5, c'è un modo per creare un decoratore che decora una classe? In particolare, desidero utilizzare un decoratore per aggiungere un membro a una classe e modificare il costruttore per ottenere un valore per quel membro. Cerchi qualcosa di simile al seguente (che presenta un errore di sintassi …
Devo contrassegnare le routine come deprecate, ma a quanto pare non esiste un decoratore di libreria standard per la deprecazione. Sono a conoscenza delle ricette per esso e per il modulo avvisi, ma la mia domanda è: perché non esiste un decoratore di librerie standard per questa attività (comune)? Domanda …
Nel codice seguente creo una classe astratta di base Base. Voglio che tutte le classi che ereditano da Baseforniscano la nameproprietà, quindi ho reso questa proprietà un file @abstractmethod. Quindi ho creato una sottoclasse di Base, called Base_1, che ha lo scopo di fornire alcune funzionalità, ma rimane comunque astratta. …
Ultimamente si parla di tutti i tipi di decoratori e presentatori nella comunità di Ruby on Rails . Qual è la differenza essenziale tra i due? Se c'è, quali sono gli indizi che mi dicono quale usare rispetto all'altro? O forse per usare i due insieme?
Supponiamo che io abbia scritto un decoratore che fa qualcosa di molto generico. Ad esempio, potrebbe convertire tutti gli argomenti in un tipo specifico, eseguire la registrazione, implementare la memorizzazione, ecc. Ecco un esempio: def args_as_ints(f): def g(*args, **kwargs): args = [int(x) for x in args] kwargs = dict((k, int(v)) …
Recentemente ho esaminato una base di codice esistente contenente molte classi in cui gli attributi di istanza riflettono i valori memorizzati in un database. Ho riformattato molti di questi attributi per differire le ricerche nel database, ad es. non essere inizializzato nel costruttore ma solo alla prima lettura. Questi attributi …
Ho qualcosa di simile al seguente. Fondamentalmente ho bisogno di accedere alla classe di un metodo di istanza da un decoratore utilizzato sul metodo di istanza nella sua definizione. def decorator(view): # do something that requires view's class print view.im_class return view class ModelA(object): @decorator def a_method(self): # do some …
Ho un progetto scritto in ES6 con webpack come bundler. La maggior parte del transpiling funziona bene, ma quando provo a includere decoratori ovunque, ottengo questo errore: Decorators are not supported yet in 6.x pending proposal update. Ho esaminato il tracker dei problemi di babel e non sono stato in …
def make_bold(fn): return lambda : "<b>" + fn() + "</b>" def make_italic(fn): return lambda : "<i>" + fn() + "</i>" @make_bold @make_italic def hello(): return "hello world" helloHTML = hello() Produzione: "<b><i>hello world</i></b>" Capisco approssimativamente i decoratori e come funziona con uno di essi nella maggior parte degli esempi. In …
Se imposto il modulo di registrazione su DEBUG con un parametro della riga di comando come questo: if (opt["log"] == "debug"): logging.basicConfig(level=logging.DEBUG) Come posso sapere in seguito se il logger era impostato su DEBUG? Sto scrivendo un decoratore che cronometrerà una funzione se le viene passato il flag True, e …
Vorrei creare un decoratore Python che può essere utilizzato con i parametri: @redirect_output("somewhere.log") def foo(): .... o senza di loro (ad esempio per reindirizzare l'output a stderr per impostazione predefinita): @redirect_output def foo(): .... È possibile? Nota che non sto cercando una soluzione diversa al problema del reindirizzamento dell'output, è …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.