Thread View: be.comp.programming
4 messages
4 total messages
Started by Passero
Thu, 15 Apr 2004 09:21
iterator pattern vraagje
Author: Passero
Date: Thu, 15 Apr 2004 09:21
Date: Thu, 15 Apr 2004 09:21
10 lines
1798 bytes
1798 bytes
Ik moet een werkje maken over het iterator pattern maar ik zit met een klein probleempje. Overal waar ik een definitie zie staat er dat het pattern gebruikt wordt om sequentieel door een collectie te lopen zonder dat je de implementatie kent. Maar van wat moet je de implementatie niet kennen? Van die collection of van de objecten in de collection? Lijkt dat pattern dan niet een beetje op het adapter pattern? Als je bij de iterator een interface maakt met getNext, getFirst enzo en je maakt verschillende concrete klassen, voorbeeld voor een recordset en voor een gewoon sequentieel bestand dan heb je toch iets gelijk een adapter of ben ik verkeerd bezig?
Re: iterator pattern vraagje
Author: Tim Van Wassenhove
Date: Thu, 15 Apr 2004 15:45
Date: Thu, 15 Apr 2004 15:45
24 lines
1960 bytes
1960 bytes
In article <pan.2004.04.15.09.22.22.181783@pandora.be>, Passero wrote: > Ik moet een werkje maken over het iterator pattern maar ik zit met een > klein probleempje. Overal waar ik een definitie zie staat er dat het > pattern gebruikt wordt om sequentieel door een collectie te lopen zonder > dat je de implementatie kent. Maar van wat moet je de implementatie niet > kennen? Van die collection of van de objecten in de collection? > Lijkt dat pattern dan niet een beetje op het adapter pattern? Als je bij > de iterator een interface maakt met getNext, getFirst enzo en je maakt > verschillende concrete klassen, voorbeeld voor een recordset en voor een > gewoon sequentieel bestand dan heb je toch iets gelijk een adapter of ben > ik verkeerd bezig? Iterator is een interface met volgende functies (kan je opzoeken in de api of ik geen methode vergeet): boolean hasNext(); Object nextElement(); Als een klasse deze interface implementeert, dan kan je door alle elementen in de klasse lopen (itereren) dmv de bovenvermelde functies. Voordeel is dat je op een uniforme manier door verzamelingen kan lopen. -- http://home.mysth.be/~timvw
Re: iterator pattern vraagje
Author: Stijn De Smet
Date: Thu, 15 Apr 2004 17:12
Date: Thu, 15 Apr 2004 17:12
21 lines
2293 bytes
2293 bytes
Passero wrote: > Ik moet een werkje maken over het iterator pattern maar ik zit met een > klein probleempje. Overal waar ik een definitie zie staat er dat het > pattern gebruikt wordt om sequentieel door een collectie te lopen zonder > dat je de implementatie kent. Maar van wat moet je de implementatie niet > kennen? Van die collection of van de objecten in de collection? > Lijkt dat pattern dan niet een beetje op het adapter pattern? Als je bij > de iterator een interface maakt met getNext, getFirst enzo en je maakt > verschillende concrete klassen, voorbeeld voor een recordset en voor een > gewoon sequentieel bestand dan heb je toch iets gelijk een adapter of ben > ik verkeerd bezig? Een Iterator wordt gebruikt om over de elementen van een collection te lopen. Als je bvb een unidirectionele interator hebt, dan weet je dat je in 1 richting over de collection kan lopen, ongeacht welke implementatie die collection heeft (Vector, Set, Map,...). De Iterator kent dus de interne structuur van de collection, maar de gebruiker moet enkel de iterator kennen en gebruiken, en hoeft niets te weten van de collection zelf. -- Stijn De Smet
Re: iterator pattern vraagje
Author: Robert Jan Schaper
Date: Fri, 16 Apr 2004 06:20
Date: Fri, 16 Apr 2004 06:20
27 lines
2137 bytes
2137 bytes
Passero wrote: > Ik moet een werkje maken over het iterator pattern maar ik zit met een > klein probleempje. Overal waar ik een definitie zie staat er dat het > pattern gebruikt wordt om sequentieel door een collectie te lopen zonder > dat je de implementatie kent. Maar van wat moet je de implementatie niet > kennen? Van die collection of van de objecten in de collection? Liefst van beide niet, je hoort enkel de interface te kennen zodat je later de implementatie van deze klassen kunt varieren zonder veranderingen in de rest van de app. > Lijkt dat pattern dan niet een beetje op het adapter pattern? Als je bij > de iterator een interface maakt met getNext, getFirst enzo en je maakt > verschillende concrete klassen, voorbeeld voor een recordset en voor een > gewoon sequentieel bestand dan heb je toch iets gelijk een adapter of ben > ik verkeerd bezig? Het belangrijkste verschil is dat je meerdere iteratoren tegelijk kunt gebruiken met een enkel collectie object omdat niet de collectie maar de iteratoren de staat van de iteratie bevatten. Erg makkelijk voor bijvoorbeeld een historie mechanisme: je duwt gewoon een iterator op een stack. -- Rob
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads