You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/09-classes/07-mixins/article.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Esiste un concetto che può aiutare in questi casi, chiamato "mixins".
10
10
11
11
Come definito in Wikipedia, un [mixin](https://en.wikipedia.org/wiki/Mixin) è una classe contenente metodi che possono essere utilizzati da altre classi, senza che ci sia la necessità di ereditare da questa classe.
12
12
13
-
In altre parole, un *mixin* fornisce dei metodi che implementano delle funzionalità specifiche, che non andremo ad utilizzare da soli, ma piuttosto andremo ad aggiungerli ad altre classi.
13
+
In altre parole, un *mixin* fornisce dei metodi che implementano delle funzionalità specifiche, che non andremo ad utilizzare da soli, ma piuttosto andremo ad aggiungere ad altre classi.
14
14
15
15
## Un esempio di mixin
16
16
@@ -115,9 +115,9 @@ Una caratteristica importante di molti oggetti del browser (ad esempio) è che q
115
115
- Anche il metodo `.on(name, handler)`, che aggiunge una funzione `handler` come listener degli eventi con il nome fornito. Sarà invocato nel momento in cui un evento con il `name` fornito verrà invocato dalla chiamata `.trigger`.
116
116
- ...Ed il metodo `.off(name, handler)` che rimuove il listener `handler`.
117
117
118
-
Dopo aver aggiunto il mixin, un oggetto `user` sarà in grado di generare un evento di `"login"` quando l'utente effettua l'accesso. Ed un altro oggetto, diciamo, `calendar`potrebbe essere in ascolto di questi eventi in modo da caricare il calendario della persona autenticata.
118
+
Dopo aver aggiunto il mixin, un oggetto `user` sarà in grado di generare un evento di `"login"` quando l'utente effettua l'accesso. Ed un altro oggetto, diciamo, `calendar`può stare in ascolto di questi eventi in modo da caricare il calendario della persona autenticata.
119
119
120
-
Oppure un `menu`potrebbe generare un evento di `"select"` quando un elemento viene selezionato, ed un altro oggetto potrebbe essere in ascolto dell'evento. E così via.
120
+
Oppure un `menu`può generare un evento di `"select"` quando un elemento viene selezionato, ed un altro oggetto stare in ascolto dell'evento. E così via.
121
121
122
122
Qui vediamo il codice:
123
123
@@ -203,6 +203,6 @@ E grazie al mixin `eventMixin`, questo comportamento diventa molto semplice da i
203
203
204
204
Molti altri linguaggi di programmazione consentono l'ereditarietà multipla. JavaScript non la supporta, ma possiamo implementare i mixin copiando i loro metodi all'interno del prototype.
205
205
206
-
Possiamo utilizzare i mixins per aumentare una classe, andando ad aggiungere diversi comportamenti, come la gestione degli eventi vista sopra.
206
+
Possiamo utilizzare i mixins per migliorare una classe, andando ad aggiungere diversi comportamenti, come la gestione degli eventi vista sopra.
207
207
208
208
I mixins potrebbero creare conflitti nel caso in cui andassero a sovrascrivere metodi già esistenti nella classe. Quindi, generalmente, i nomi dei metodi nei mixin vanno scelti con attenzione, in modo tale da minimizzare il rischio che si generino tali conflitti.
0 commit comments