Mi piace il Prototype Pattern example di Steve Yegge e ho deciso di creare un esempio di prova rapida.In che modo l'esempio di modello prototipo di Yegge gestisce le variabili di istanza?
Tuttavia, non ho davvero pensato alle cose. Sebbene sia ottimo per specificare dinamicamente il comportamento degli oggetti ed è una soluzione facile per l'esempio di Steve opinionated elf, sto ancora cercando di trovare il modo migliore per gestire le variabili di istanza.
Ad esempio, supponiamo di avere un oggetto AwesomeDragon. Quindi voglio creare un oggetto AwesomeDragonImmuneToFire in modo da creare un nuovo figlio di AwesomeDragon (AwesomeDragonImmuneToFire eredita le proprietà da AwesomeDragon) e "mettere" "ImmuneToFire" come una proprietà con un valore di "true". Fin qui tutto bene. Ora diciamo che voglio inviare il mio oggetto AwesomeDragon in un tour dei villaggi rurali vicini. Ciò comporterà l'aggiornamento della proprietà 'position' di AwesomeDragon. Tuttavia, il momento in cui faccio questo AwesomeDragonImmuneToFire decollerà.
È la soluzione migliore per sovrascrivere i valori di istanza alla creazione dell'oggetto, ad es. immediatamente 'metti' il valore 'posizione' su AwesomeDragonImmuneToFire sul valore corrente 'ottieni' di 'posizione'?
Ho pensato che l'idea dei prototipi fosse che non esistevano classi reali: solo le istanze di una classe prototipo. Il principio ibrido potrebbe funzionare a dovere credo, ma temo che siate costretti a controllare i metodi degli oggetti e le proprietà dei prototipi. –
Grazie per il feedback, a proposito: mi piace il tuo esempio e ho votato in su. –
Ci sono davvero solo istanze. Tuttavia, l'istanza di Awesome utilizzata come prototipo e l'istanza di Awesome utilizzata in worlflow può essere diversa come nell'esempio sopra –