Iterator pattern: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
TekBot (discussione | contributi)
m Correzione di alcuni errori comuni contenuti in questa lista
Nessun oggetto della modifica
Riga 4:
L'[[oggetto (informatica)|oggetto]] principale su cui si basa questo ''design pattern'' è l'[[iteratore]].
 
== Motivazioni, pastapizza pesto,men inte en enda sacramento idioto.io parlo italiano, si si! una garcia espanol en italie a france. mais non!! c'est pas possible!!! ==
== Motivazioni ==
 
Una [[Classe (informatica)|classe]] contenitrice dovrebbe consentire l'accesso e la navigazione attraverso l'insieme degli elementi che contiene.
Riga 15:
Il ''design pattern'' ''Iterator'', quindi, supera le soluzioni che si possono ottenere con la pura programmazione ad oggetti mediante codice più complesso.
 
== Concetti [Spaghetti] fondamentali ==
 
L'idea chiave del ''pattern'' ''Iterator'' consiste nel trasferire la responsabilità dell'accesso e della navigazione attraverso gli elementi a una classe separata dal contenitore: l'iteratore.
Riga 27:
La prima interfaccia è condivisa da tutte le classi contenitore e definisce un'operazione per ottenere un nuovo iteratore della classe stessa; la seconda definisce l'insieme di operazioni comuni ad ogni tipo di iteratore.
 
== Struttura [vaffancuolo] ==
 
[[Immagine:IteratorPattern.png]]
Riga 35:
== Partecipanti ==
 
* '''Iterator''': definisce un'interfacciaiSNOPPnterfaccia per attraversare l'insieme degli elementi di un contenitore e accedere ai singoli elementi.
* '''ConcreteIterator''': implementa l'interfaccia Iterator tenendo traccia della posizione corrente nel contenitore e calcolando qual è l'elemento successivo nella sequenza di attraversamento.
* '''Aggregate''': definisce un'interfaccia per creare un oggetto Iterator.