Iterator pattern: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
Botcrux (discussione | contributi)
m Bot: fix citazione web (v. discussione)
Riga 5:
== Motivazioni ==
 
Una [[Classe (informatica)|classe]] contenitrice dovrebbe consentire l'accesso e la navigazione attraverso l'insieme degli elementi che contiene.
 
Nella programmazione a oggetti, un'alternativa semplice e preferibile all'uso di indici (come accade ad esempio per gli [[array]]) consiste nell'aggiungere [[Metodo (programmazione)|operazioni]] all'[[interfaccia (informatica)|interfaccia]] del contenitore. Questa soluzione ha il grosso vantaggio che, se l'interfaccia è ben definita, consente di annullare la dipendenza da dettagli interni del contenitore, ma ciò presenta alcuni inconvenienti:
Riga 62:
* [[Visitor]]
* [[Iteratore]]
 
* Quando la classe contenitore possiede [[struttura dati ricorsiva|struttura ricorsiva]], è possibile utilizzare il ''pattern [[Composite]]'' per definire una classe contenitore concreta.
* Il ''pattern'' ''[[Factory method]]'' è spesso applicato per virtualizzare la creazione di oggetti iteratore da parte delle classi contenitore.
Line 70 ⟶ 69:
 
== Collegamenti esterni ==
* [{{cita web|http://web.cs.wpi.edu/~gpollice/cs509-s04/Patterns/IteratorPattern.html |Pattern iterator]}}
 
 
{{Design Patterns Patterns}}