Oltre alle risposte specifiche della piattaforma già presenti, mi piacerebbe fare il chip da una visualizzazione più generica. Questa domanda, dal mio parere, è in qualche modo legato alla decisione di scegliere modello decorator per l'eredità (ad es @Component
vs extends Component
)
Alcuni dei vantaggi di utilizzare decoratori sono:
1. Separazione delle preoccupazioni:
Le informazioni all'interno dei decoratori sono dichiarative, definiscono il comportamento di una classe, molto probabilmente non cambiano nel tempo e vengono utilizzate dal framework. Le proprietà e i campi della classe sono dati specifici della classe, saranno sempre elaborati e frequentemente aggiornati, e solo significativi all'interno della classe stessa. Questi due tipi di dati non devono essere mescolati insieme.
2.Supporta più modifiche
Molte lingue impediscono l'ereditarietà multipla a causa di Diamond problem. D'altra parte, una classe può avere più decoratori per scopi diversi (ad esempio @Component
e il deprecato @RouteConfig
)
fonte
2016-06-28 10:37:25
"In generale, i decoratori consentono di eseguire le funzioni". Non è molto utile. I linguaggi di programmazione consentono di "eseguire le funzioni" ... – spinkus