php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.01.2012, 15:13  
archer42
Gast
 
Beiträge: n/a
Standard Anwendung Iterator-Pattern

Hallo,

Ich verstehe das Iterator-Verhaltensmuster nicht.


Das Iterator Pattern wird z.B. für die Repräsentation einer Stelle benutzt. Also wenn ich bsw. eine Autoliste bestehend aus Objekten durchlaufe, so kann ich ein Iterator Pattern benutzen um dieses als Nadel zu verwenden.

Der Iterator stellt dann Methoden wie next, current, back usw. zur Verfügung um diese Nadel durch die Liste navigieren.

Mit einem Iterator-Pattern könnte ich also durch csv-Dateien, welche Listen repräsentieren durchgehen und die Daten mit dem iterator ändern bzw. dessen Position bestimmen.

Ist diese Vorstellung vom Iterator korrekt?
Für welche Anwendungen wird der Iterator sonst noch verwendet?

Gruß,
archer42
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.01.2012, 15:16  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Etwa, wenn du ein Objekt via foreach() durchgehen möchtest. Dies könnte bei SQL-Results der Fall sein oder anderen Klassen, die eine Kollektion von gleichartigen Daten repräsentieren.
__________________
dsentker ist offline   Mit Zitat antworten
Alt 02.01.2012, 15:17  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Ich verstehe deine Ausführungen deines Verstehens des Patterns zwar nicht aber:

RTFM!
http://php.net/manual/de/class.iterator.php
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 02.01.2012, 15:17  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ein Iterator ist die einheitliche Schnittstelle für Objekte, die mehrere (gleichartige) Datentypen verwalten. Ein rekursiver Iterator bildet zusätzlich die Iteration rekursiv verschachtelter Objektstrukturen auf einen linearen Zugriffsprozess ab.

Wichtig zu wissen ist, dass der SPL-Iterator keine Funktion in dem Sinne bereitstellt, sondern Dich nur zur Benutzung bestimmter vorgesehener Methoden „zwingt“.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 02.01.2012, 15:25  
Erfahrener Benutzer
 
Registriert seit: 04.08.2010
Beiträge: 287
PHP-Kenntnisse:
Fortgeschritten
zwutz wird schon bald berühmt werden
Standard

Position bestimmen eher weniger. Auch zum Ändern der Daten brauchst du nicht zwingend einen Iterator. Kann sogar böse enden, wenn durch die Änderung die Position des geänderten Objektes in der Liste verändert wird (gerade bei sortierten Listen der Fall).

Der Iterator bietet dir nur eine Schnittstelle, eine Liste von Objekten sequentiell durchlaufen zu können.
zwutz ist offline   Mit Zitat antworten
Alt 02.01.2012, 17:34  
archer42
Gast
 
Beiträge: n/a
Standard

Wo ist mein Beitrag geblieben?

Zitat:
Der Iterator bietet dir nur eine Schnittstelle, eine Liste von Objekten sequentiell durchlaufen zu können.
Danke, das ist ein gute Definition
Zitat:
Wichtig zu wissen ist, dass der SPL-Iterator keine Funktion in dem Sinne bereitstellt, sondern Dich nur zur Benutzung bestimmter vorgesehener Methoden „zwingt“.
Ich dachte die SPL stellt nur ein Interface bereit?
  Mit Zitat antworten
Alt 02.01.2012, 18:17  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Und was habe ich gegenteiliges geschrieben?

Zitat:
Der Iterator bietet dir nur eine Schnittstelle, eine Liste von Objekten sequentiell durchlaufen zu können.
Danke, das ist ein gute Definition
Aber nicht ganz korrekt resp. exakt. Es ist eine Liste von Datenstrukturen/-elementen, aber mitnichten sind das zwingend Objekte. Zwingend ist nur der Iterator selbst ein Objekt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 02.01.2012, 18:29  
archer42
Gast
 
Beiträge: n/a
Standard

Korrekt:
Zitat:
Ein Iterator ist die einheitliche Schnittstelle für Objekte, die mehrere (gleichartige) Datentypen verwalten. Ein rekursiver Iterator bildet zusätzlich die Iteration rekursiv verschachtelter Objektstrukturen auf einen linearen Zugriffsprozess ab.

Einfach:
Zitat:
Der Iterator bietet dir nur eine Schnittstelle, eine Liste von Objekten sequentiell durchlaufen zu können.
Danke, das ist ein gute Definition

Geändert von archer42 (02.01.2012 um 18:55 Uhr).
  Mit Zitat antworten
Alt 02.01.2012, 19:56  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Ein Iterator ist eine Schnittstelle die das Konzept der sequenziellen Abarbeitung von Daten einer Endlichen oder nicht-endlichen Quelle erlaubt. Ein Iterator kennt nur zurücksetzen ( reset ), seinen aktuellen Schlüssel ( key ), eine aktion zum nächsten Sequenzpunkt ( next ), eine aktion zum prüfen des aktuellen Sequenzpunkt auf validität ( valid ) und die rückgabe des aktuellen Sequenzpunktes ( current ).

Anwendungsfall unendlich:
Iteration eines Datums durch additives hinzufügen einer Zeitperiode ( DateTime + DateInterval ), Rückgabe ob Schaltjahr oder nicht Schaltjahr. Zeitanalysen durch Iteration sind nicht endlich, da dem Datum weder naturell ein Endpunkt obliegt, noch ein Anfang.

Anwendungsfall endlich:
Iteration einer Datenquelle ( Array ) das x Elemente beinhaltet, bspw. unterschiedlicher Datentypen.

Der Iterator ist keine Schnittstelle die auf eine Simple "Liste von Objekten zur sequentiellen Abarbeitung" festgelegt ist.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.

Geändert von tr0y (02.01.2012 um 20:09 Uhr).
tr0y ist offline   Mit Zitat antworten
Alt 02.01.2012, 20:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Der Iterator ist keine Schnittstelle die auf eine Simple "Liste von Objekten zur sequentiellen Abarbeitung" festgelegt ist.
Guter Punkt, da hast Du natürlich Recht. Das legt ja bereits die Bezeichnung nahe.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Facebook - Anwendung - Session Problem!? Ralf-2011 PHP Einsteiger 16 30.12.2011 08:11
[Erledigt] Pfade für Anwendung definieren chunky PHP Einsteiger 7 09.05.2011 17:49
Ajax Anwendung, reines Ajax oder Ajax und Html jackie1983 JavaScript, Ajax und mehr 5 09.02.2010 16:50
Fragen bzgl. Architektur meiner Anwendung TheNerd Software-Design 4 25.01.2010 17:21
Anwendung für mehrere Server entwickeln smilla Software-Design 14 30.12.2009 00:05
PhpOpenTracker und PHP5 Anwendung phpbeginner PHP Tipps 2008 3 19.03.2008 14:07
lokalisieren einer Anwendung fuhrmara PHP-Fortgeschrittene 1 22.04.2007 18:41
PHP Anwendung auf CD ... andrew22 PHP Tipps 2006 22 03.08.2006 17:07
Undo/Oder Operatoren und Ihre Anwendung Off-Topic Diskussionen 3 02.08.2006 14:14
php als anwendung notyyy PHP Tipps 2006 15 28.05.2006 02:38
diverse Design-Fragen eines Frameworks mepeisen PHP-Fortgeschrittene 10 26.04.2006 01:57
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
Suche BREAD Anwendung Bruno Beitragsarchiv 3 30.06.2005 15:20
[Erledigt] PHP Anwendung im Browser PHP-Fortgeschrittene 13 30.05.2005 19:32
[Erledigt] Anwendung per PHP steuern PHP-Fortgeschrittene 1 26.09.2004 18:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
iterator anwendung, anwendung iterator, iterator pattern, iterator pattern vs spl iterator, schaltjahr pattern php, php iterator setzen, anwendungen iterator, anwendungsbeispiel iterator pattern, anwendung iteration pattern

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum