Sammeligning og konklusion

Iterator pattern er en af de patterns, der er udpeget af "Gang og Four". De design patterns, som GoF har "besluttet", kan deles ind i 3 grupper; Creational, Structural og Behavioral (som er den største gruppe af de tre). Det der er kendetegnende for alle de patterns, der ligger i Behavioral gruppen, er at de omhandler kommunikationen mellem klasser, og deres opførsel. I iterator pattern er det vores Iterator klasse der formidler kommunikationen fra den underliggende ConcreteAggregate og så ud til det "program", hvor det skal bruges.

Memento bruges ofte i forbindelse med Iterator. En Iterator kan bruge en Memento til at fange den tilstand som  iterationen er i. Iteratoren gemmer Memento internt.

Itterator pattern kan også sammenlignes med Facade pattern, i den forstand at itteratoren er en facade til den underliggende datastruktur.



Det giver rigtig god mening at anvende når man har to systemer, der bruger hver sin type af kollektion (eksempelvis et system, der bruger List<T> og et andet der bruger Array), som skal slåes sammen til et nyt system. For at itterator pattern skal komme til sin ret, skal de kollektioner, som skal sættes sammen, være af en hvis størrelse. Hvis de to kollektioner ikke er ret store kan det ikke betale sig at bruge itterator pattern, så er det nemmere bare at ændre de steder der bruger den ene type kollektion, til den anden. Altså ændre de steder der bliver brugt Array til en List i stedet for.

Ingen kommentarer:

Send en kommentar