![Page 1: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/1.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 1
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
-LABORPRAKTIKUM-SOMMERSEMESTER 2005
„Umsetzung von Pattern“Muster: -ITERATOR-
(Verhaltensmuster)
Gruppe: Jan-Peter SchmidtMatthias Teske
Quellen:• Gamma, E., Helm, R., Jonson, R., Vlissides, J., „Entwurfsmuster“, Addison Wesley, Bonn, 1996• Prof. Dr. Uwe Schmidt, FH Wedel, Vorlesung „Softwaredesign“ www.fh-wedel.de/~si/vorlesungen/softwaredesign/Verhaltensmuster/Iterator.html
![Page 2: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/2.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 2
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
1. Klassifizierung und Zweck
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel9. Verwandte Muster
Klassifizierung:
Das Iteratormuster gehört zu den objektbasiertenVerhaltensmustern
Zweck:
Ermögliche den sequentiellen Zugriff auf die Elemente eineszusammengesetzten Objekts, ohne seine zugrunde liegendeRepräsentation offen zu legen.
Hinweis: Der Iterator ist auch bekannt als Cursor
![Page 3: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/3.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 3
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
2. Motivation (1/3)
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation (1/3)3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel9. Verwandte Muster
Gegeben:
• Zusammengesetztes Objekt, z.B. Liste
Anforderungen:
• Auf alle Elemente dieser Liste soll zugegriffen werden können
• Zugriff unabhängig von interner Struktur
• Zugriff soll auf verschiedene Art möglich sein
• Schnittstelle der Listenklasse soll trotzdem schlank bleiben
• Mehrfach gleichzeitige Traversierung soll möglich sein
![Page 4: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/4.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 4
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
2. Motivation (2/3)
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation (2/3)3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel9. Verwandte Muster
Idee:
• Zuständigkeit für Zugriff sowie Funktionalität zur Traversierung aus Listenobjekt ausgliedern
• Diese Funktionalität einem „Iterator-Objekt“ zuteilen
• Klasse Iterator definiert Schnittstelle zum Zugriff auf Listenelemente
Beispiel:
• Klasse Liste führt zu der Klasse ListenIterator
• Diese Klasse stellt die Methoden Start(), Weiter(), IstFertig() und AktuellesElement() bereit
![Page 5: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/5.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 5
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
2. Motivation (3/3)
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation (3/3)3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel9. Verwandte Muster
Problematik:
• Iterator und Liste sind gekoppelt, Client muss wissen, dass es eine „Liste“ ist und keine andere Struktur
• Somit Festlegung auf bestimmte Struktur
Erweiterte Idee:
• Ausweitung des Iteratorkonzepts auf polymorphe Iteration
• Definition der Klasse AbstrakteListe einheitliche Schnittstelle
• Dementsprechend Definition der abstrakten Klasse Iterator
• Abstrakte Liste hat Methode ErzeugeIterator, somit wird für jede konkrete Unterklasse spezieller Iterator erzeugt
![Page 6: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/6.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 6
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
3. Anwendbarkeit
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel9. Verwandte Muster
• Zugriff auf Elemente eines zusammengesetzten Objekts ohne Offenlegung der internen Struktur
• mehrfache gleichzeitige bzw. geschachtelte Traversierung
• einheitliche Schnittstelle zur Traversierung unterschiedlich zusammengesetzter Strukturen (polymorphe Iteration)
• weniger geeignet, wenn Objekt rekursiv definiert ist
• Kompositum nicht mit Iteratoren verarbeiten, sondern mit Interpretierer und Besucher
![Page 7: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/7.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 7
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
4. Struktur
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel9. Verwandte Muster
![Page 8: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/8.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 8
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
5. Teilnehmer
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel9. Verwandte Muster
Iterator:• definiert Schnittstelle zum Zugriff auf Elemente und zur Traversierung dieser
KonkreterIterator:• implementiert Schnittstelle von Iterator• verwaltet aktuelle Position während Traversierung
Aggregat:• definiert Schnittstelle für Erzeugung Objekt der Klasse Iterator
Konkretes Aggregat:• implementiert Operationen zum Erzeugen eines konkreten Iterators • gibt Objekt der passenden KonkreterIterator-Klasse zurück
![Page 9: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/9.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 9
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
6. Konsequenzen
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel9. Verwandte Muster
• Möglichkeit von Varianten der Traversierung, z.B. Vorwärts- und Rückwärtstraversierung
• Vereinfachung der Aggregatschnittstelle, Aggregatklassen brauchen keine Iterationsschnittstelle anbieten
• Ein Aggregat kann mehr als einmal gleichzeitig traversiert werden, da der Iterator seinen eigenen Zustand verwaltet
• Verwaltung ist allerdings nicht immer trivial:Bsp. BinärbaumDer gesamte Pfad vom aktuellen Element (Knoten) bis zur Wurzel muss im Iterator verwaltet werden
• Während der Iteration dürfen keine Modifikationen am Aggregat vorgenommen werden (Traversierung einer Kopie ist teuer)
![Page 10: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/10.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 10
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
7. Implementierung (1/2)
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung
(1/2)8. Beispiel9. Verwandte Muster
Viele Varianten und Alternativen möglich, z.B.:
• Steuerung der Iteration- interner (passiver) Iterator: Iterator steuert selbst- externer (aktiver) Iterator: Client steuert Iteration, flexiblere Variante: Prüfung auf Gleichheit zweier Behälter möglich
• Definition des Traversierungsalgorithmus- muss nicht zwingend im Iterator erfolgen, auch im Aggregat möglich: Iterator speichert nur Zustand Cursor!
• Robustheit- stellt sicher, dass das Einfügen und Entfernen von Objekten nicht mit Traversierung in Konflikt gerät, ohne Aggregat zu kopieren
![Page 11: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/11.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 11
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
7. Implementierung (2/2)
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung
(2/2)8. Beispiel9. Verwandte Muster
• Zusätzliche Iteratoroperationen- Erweiterung der Schnittstelle des Iterators um Operationen wie Zurück() oder SpringeAuf(Element)
• Iteratoren für Komposita- Externe Iteratoren sind für rekursive Aggregationsstrukturen schwer zu implementieren- Einfacher durch internen Iterator, Speicherung der aktuellen Position durch rekursiven Aufruf- Preorder, Inorder-, Postorder- und Breitentraversierung von Komposita müssen über eigene Klasse möglich sein
• Nulliteratoren- nützlich für Handhabung von Grenzbedingungen- ist immer am Ende der Iteration angelangt, also IstFertig() liefert immer true- zur leichteren Traversierung von baumförmigen Aggregaten
![Page 12: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/12.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 12
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (1/11) 1. Definition allgemeiner Interfaces
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (1/11)9. Verwandte Muster
1.1 Interface „Aggregat“
1.2 Interface „Iterator“
1.3 Interface „Drucken“:
![Page 13: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/13.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 13
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (2/11) 2. Beispiel-Implementierung: „Aggregat und Iterator“
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (2/11)9. Verwandte Muster
Beispiel 2.1: „MyArrayList“ / „MyArrayListIterator“
![Page 14: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/14.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 14
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (3/11) 2. Beispiel-Implementierung: „Aggregat und Iterator“
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (3/11)9. Verwandte Muster
Beispiel 2.1: „MyArrayList“ / „MyArrayListIterator“
![Page 15: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/15.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 15
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (4/11) 2. Beispiel-Implementierung: „Aggregat und Iterator“
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (4/11)9. Verwandte Muster
Beispiel 2.2.1: „MyTree“ / „MyTreeIterator“
![Page 16: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/16.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 16
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (5/11) 2. Beispiel-Implementierung: „Aggregat und Iterator“
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (5/11)9. Verwandte Muster
Beispiel 2.2.1: „MyTree“ / „MyTreeIterator“
![Page 17: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/17.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 17
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (6/11) 2. Beispiel-Implementierung: „Aggregat und Iterator“
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (6/11)9. Verwandte Muster
Beispiel 2.2.2: „MyReverseTree“ / „MyReverseTreeIterator“
![Page 18: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/18.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 18
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (7/11) 2. Beispiel-Implementierung: „Aggregat und Iterator“
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (7/11)9. Verwandte Muster
Beispiel 2.2.2: „MyReverseTree“ / „MyReverseTreeIterator“
![Page 19: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/19.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 19
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (8/11) 3. Beispiel-Anwendung „PersonenListe“
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (8/11)9. Verwandte Muster
3.1 Klasse „Client“:
![Page 20: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/20.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 20
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (9/11) 3. Beispiel-Anwendung „PersonenListe“
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (9/11)9. Verwandte Muster
3.2 Klasse „Person“:
![Page 21: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/21.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 21
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (10/11) 3. Beispiel-Anwendung „PersonenListe“
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (10/11)9. Verwandte Muster
3.3 Klasse „PersonenListe“:
![Page 22: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/22.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 22
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
8. Beispiel (11/11) 4. Visualisierung als Eclipse-PlugIn
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel (11/11)9. Verwandte Muster
![Page 23: Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel 2000- -LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:](https://reader035.vdokument.com/reader035/viewer/2022062521/570491c51a28ab14218dac07/html5/thumbnails/23.jpg)
-Laborpraktikum-Sommersemester 2005
„Umsetzung vonPattern“
Folie 23
Jan-Peter SchmidtMatthias Teske
-Fernstudium Informatik--Matrikel 2000-
9. Verwandte Muster
Muster „Iterator“
1. Klassifizierung und Zweck
2. Motivation3. Anwendbarkeit4. Struktur5. Teilnehmer6. Konsequenzen7. Implementierung8. Beispiel9. Verwandte Muster
Kompositum:
• Iteratoren werden oft auf rekursive Strukturen wie Komposita angewendet
Fabrikmethode:
• Polymorphe Iteratoren beruhen auf Fabrikmethode, um Objekt der richtigen Iteratorunterklasse zu erzeugen
Memento:
• Iterator kann Memento nutzen, um den Zustand einer Iteration zwischenzuspeichern• Memento wird hier vom Iterator intern gespeichert