| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
|
Hallo. Ich bin gerade dabei eine Datenstruktur aufzubauen, die den Inhalt einer Referenzen Seite wiederspiegelt. Also es gibt Obergruppen und in den Gruppen nach Themen sortierte Medien, die angezeigt werden sollen. Ich frage mich gerade, was geschickter ist - aus den in XML vorliegenden Daten in Flash eine Datenstruktur erstellen, ala PHP-Code: XML Knoten in den Objekten zu speichern und diese mit E4X anzufragen. E4X hat soviele Sortierfunktionen, die ich mir ja sonst noch selber schreiben müsste, wie: "Gib mir alle Medien mit dem Typ MP3". Überseh ich da gerade einen entscheidenden Punkt? Ich würde also in den Gettern der Objekte das XML File konsultieren und erst dann die Daten daraus ziehen. Wie seht/macht Ihr das? Gruß, dr.ache |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.901
|
Je nachdem, was du machen willst. Ich persönlich denke nicht, dass E4X Ausdrücke in einer Applikation oder in Komponenten die Wiederverwendbarkeit erhöhen. Aber wenn es nur um die eine Applikation geht, ist es wohl egal. Ich tendiere aber generell zu einer Hierarchie von Objekten.
|
| | |
| | #4 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
|
Geht nur um die eine Anwendung und ich habe ja eine Hierarchie von Objekten. Ich habe Cases, die wiederum aus Medien bestehen. Und beide dieser, in einer Hierarchie angeordneten Objekte, speichern ihren XML Nodes und vielleicht noch weitere Sachen wie eine ID. Wenn ich jetzt auf die Inhalte zugreifen will mach ich immer sowas: PHP-Code: eigene Felder anzulegen. Wenn sich innerhalb der XML Struktur was ändert, zum Beispiel das ein Attribut "Datum" hinzukommt, müsste ich doch genauso in die Datenklassen zurück, nen Feld und seine getter und setter hinzufügen. Da ist es doch einfacher, NUR den getter hinzuzufügen und zu sagen PHP-Code: auch, solange ich in AS3 entwickel.... was übersehe ich? Was ist der Vorteil, alle Daten explizit aus dem XML File zu lesen und die XML Struktur wegzuschmeissen? Danke für die Antworten... |
| | |
| | #6 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
|
Wie meinste das? Ich hab die Klasse "Case" und ich hab die Klasse "Media". Objekte vom Typ "Media" werden in Objekten vom Typ "Case" gespeichert. Damit Hierarchie und Typisierung. Nur den Inhalt der beiden, halte ich als XML Node vor, nicht als eigene String Felder. |
| | |
| | #7 (permalink) |
| Banned Registriert seit: May 2008
Beiträge: 514
|
der sinn deiner idee mit dem xml ist also das du nur das xml ändern und dann in der entsprechenden klasse getter und setter hinzufügen müsstest. jetzt frage ich mich wozu du die xml datei überhaupt brauchst, du würdest sie brauchen wenn du das für einen kunden oder bekannten machst der die inhalte einfach anpassen möchte nur müsste jede änderung am system dann ja auch durch dich oder jemand anders der das as verändert durchgeführt werden. also solange es keine änderungen am system gibt und jemand die inhalte wechseln können soll, macht das ganze sinn sonst sehe ich den sinn der externen xml datei nicht, ich sehe auch nicht warum du die daten nicht hardcodet im flash hinterlegen solltest wenn diese eh nicht dynamisch sind. vielleicht habe ich aber auch nicht ganz den sinn deiner xml datei verstanden. mfg cc |
| | |
| | #8 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
|
@ccode: Sorry, hab ich nicht erwähnt - aber natürlich sollen die Daten extern von jemand anderem geändert werden. Es geht wie gesagt um eine Referenzen Seite, die ändern sich gewöhnlich. Meine Frage zielt nur darauf ab, was das Problem sein könnte, die Daten in den XML Nodes zu belassen und sie bei Abfrage herauszuholen. Der Aufwand, für jeden Inhalt in den XML Knoten Datenfelder anzulegen, erscheint mir gerade einfach zu groß und wenig nützlich. Sieht das wer anders? |
| | |
| | #9 (permalink) |
| °.oO°O.o°.oO.o°O Registriert seit: Jun 2005 Ort: CH
Beiträge: 1.490
|
Sorry, wenn ich keine Antwort gebe, aber die Frage ist für mich sehr interessant, da ich in Kürze an ein ähnliches Problem stossen werde. Ich werde extern geänderte/erstellte XML verwenden bzw. die Daten darin für die Darstellung verwenden. Daher würde ich die Frage gerne auch um den zeitlichen/ressourcentechnischen Aspekt erweitern: Gibt es einien zeitlich und/oder ressourcentechnisch merkbaren Unterschied eventuell abhängig von der Häufigkeit einer Abfrage? (Sorry nochmal, wenn ich in den Thread "platze")
__________________ There is no way to happiness, happiness is the way! - Buddha |
| | |
| | #10 (permalink) |
| Banned Registriert seit: May 2008
Beiträge: 514
|
ok anders ausgedrükt du möchtest praktich nur ein leeres objekt das einer id in deiner xml datei entspricht verwenden und die eigenschaften der objekte nicht erst aus der xml in das entsprechende objekt referenzieren. das kannst du natürlich so machen... nur musst du die getter und setter so oder so schreiben es ist eine zeile mehr die du im konstruktor einfügst this.daten = xml.@daten; diese zeile wird nur einmal benötigt und nmur einmal geparst... musst du oder der besucher öfters wechseln muss sie dank deiner konstruktion mehrfach geparst werden. mfg cc |
| | |
| | #12 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.901
|
Flexibler ist es aber, die XML komplett aussen vor zu halten. So müsstest du nur einen neuen Parser schreiben, wenn sich die XML Struktur ändert. Vor allen Dingen, wenn es ums testen geht, bringt dieses Vorgehen einige Vorteile.
|
| | |
| | #13 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
|
Ich hab es vorher (als ich noch Datenfelder für alles angelegt hatte, was ich jetzt wieder entfernt habe) so gemacht, dass sich jedes Objekt selber darum kümmert, wie es sich aus den XML Daten generiert. Damit hab ich doch sichergestellt, dass wenn sich inhaltlich etwas an dem Node "Case" verändert, ich auch nur in der Klasse zu ändern brauche. Ist doch die bessere Variante als einen großen Parser im Model zu haben, der alles generiert, oder? Oder zumindest gleichwertig. Gruß, dr.ache |
| | |
| | #14 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.901
|
Nee, ist es nicht. Weil du nur einmal das Domänenmodel aufbaust. Was funktioniert funktioniert. Da macht es mehr Sinn nur den Parser entsprechend zu implementieren/erweitern. Anders macht man das in der Regel nicht.
|
| | |
| | #15 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
|
Magst Du das mal an einem Beispiel erläutern? Ich komm nicht ganz dahinter, wo der Vorteil liegt. Ist es grundsätzlich schlecht, den Aufbau des Modells in die Objekte, die aus den XML Daten erzeugt werden, zu verlagern? Man könnte doch meinen, dass hat was von Logikkapselung oder? Ist doch gut zu wissen: Wenn sich etwas im Aufbau oder Inhalt des CaseNodes ändert, geh ich in die Klasse und ändere da meine Struktur. Nicht? Und wenn nicht, warum nicht. In einem großen Parser am Anfang würde ich auch nur den Teil der Schleife ändern, die durch die Nodes iteriert, die sich ums Case Node kümmert. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |