Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-12-2010, 09:48   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 168
Post Asset Management in MVC-Rahmen

Wie geht ihr mit dem Thema Asset Management in Applikationen um, die mittels MVC-Pattern implementiert sind?

Der Standardfall sieht ja vermutlich meist ganz ähnlich aus:
  1. Standard-Material vor dem Starten der Applikation laden
  2. An einer beliebigen Stelle der Applikation auf (ggf. bereits geladenes) Material zugreifen
  3. Material nachladen
  4. Springe zu 2.

Wie geht ihr mit geladenen Daten um? Die View stellt geladenes Bildmaterial dar, aber wer stellt ihr dieses zur Verfügung und wann? Arbeitet ihr mit einem File-Proxy? „Singleton“ oder mit mehreren Objekten? Wie geht ihr unter Verwendung von Robotlegs mit diesem Thema um?
simmerl ist offline   Mit Zitat antworten
Alt 17-12-2010, 08:33   #2 (permalink)
BenutzerID: 436
 
Benutzerbild von Sebastian S.
 
Registriert seit: Jun 2001
Ort: Ruhrgebiet
Beiträge: 2.323
Die Schritte, die du beschrieben hast, sehen bei mir ähnlich aus.. wie vermutlich bei allen anderen auch

Bilder lade ich über ein ImageModel -> so stelle ich sicher, dass jedes Bild nur einmal geladen wird und ich direkt darauf zugreifen kann, wenn ich es benötige.. quasi immer alles cachen was geht, um die Serverrequests so gering wie möglich zu halten.

Außnahmen dazu gibts nur, wenn die Anwendung sehr viele Bilddaten läd und das den Browserspeicher volllaufen lassen könnte.

Das Model ist nicht explizit als Singleton implementiert, wird aber bei mir über Parsley injected - ist somit quasi ein Singleton, weil immer die selbe Instanz genommen wird.
Sebastian S. ist offline   Mit Zitat antworten
Alt 17-12-2010, 10:11   #3 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.935
Bei mir kommen die Bilder in der Regel auch aus einem Model/Proxy. Hat den
auch noch den Vorteil, dass es viel besser in den Gesamtprozess zu integrieren ist.

Andererseits bietet es sich manchmal an, die Bilder einfach im View zu laden,
weil sie ohnehin nur an dieser Stelle benutzt werden und ein komplexeres Gerüst
außenrum nur mehr Arbeit mit sich bringt.

Die Wahl des Frameworks ist letztendlich Geschmackssache. Die üblichen
Kandidaten beruhen ohnehin alle auf fast den selben Prinzipien.
sebastian ist offline   Mit Zitat antworten
Alt 17-12-2010, 10:26   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 168
Wie aber greift ihr auf die geladenen Daten zu bzw. wie stellt ihr sie der View zur Verfügung? Klar ist: Die Daten selbst sind gut im Model aufgehoben, die Logik hat in der View nichts zu suchen. Aber wie bringt ihr die Daten in die View (insbesondere, wenn zur Laufzeit Daten geladen werden, also nicht beim Start der Applikation)?
simmerl ist offline   Mit Zitat antworten
Alt 17-12-2010, 10:35   #5 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.935
Die Details hängen dann vom jeweiligen Framework und den genauen
Anforderungen ab. Aber vom Prinzip läuft es so ab, dass die Views über
Events/Notifications (oder wie auch immer die Benachrichtigungen im
jeweiligen Framework heißen) benachrichtigt werden, sobald sie verfügbar
sind und diese dann anschließend verarbeitet werden.

Letztendlich gehört zu einer anständigen Seitenstruktur noch viel mehr als
ein MVC Framework, das gibt echt nur den Rahmen vor. Die Ausgestaltung
hängt dann auch immer von den Anforderungen ab.

Geändert von sebastian (17-12-2010 um 10:37 Uhr)
sebastian ist offline   Mit Zitat antworten
Alt 17-12-2010, 11:07   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 168
Zitat:
Letztendlich gehört zu einer anständigen Seitenstruktur noch viel mehr als ein MVC Framework, das gibt echt nur den Rahmen vor. Die Ausgestaltung hängt dann auch immer von den Anforderungen ab.
Um die Frage, wie man innerhalb der Frameworks sinnvolle Strukturen schafft, genau darum geht es mir. Da es sich in diesem Fall ja um ein ständig wiederkehrendes Problem handelt, gehe ich davon aus, es gibt einige Vorschläge für Lösungen, auch einzelfallunabhängig

Gehen wir einmal davon aus, die Logik gestaltet sich etwa wie folgt:
  1. View: Knopf wird gedrückt
  2. Controller: Weist Model an, Bild zu laden
  3. Model: Bild wird geladen und sendet Nachricht an das System
  4. Controller: Empfängt die Nachricht ...

An der Stelle (4.) stellt sich für mich die Frage: Fügt der Controller die geladene Grafik in die View ein? Was ist mit Elementen wie bspw. einer Buffering-Anzeige:

Eine geladene Grafik (ein Kreis) wird als Kennzeichnung eines Ladevorgangs angezeigt. Es gibt also bspw. eine View-Komponente „BufferingViewComponent“ (Sprite). Dieser muss natürlich die geladene Grafik „buffering.png“ (Bitmap) in die Display-Liste eingefügt werden.

Wenn ich nun bspw. in einer View eine Buffering-Anzeige benötige, würde ich spontan folgendes schreiben (können) wollen:

Code:
var buffering:BufferingViewComponent = new BufferingViewComponent();
addChild(buffering);
Jetzt allerdings kennt dieses neue Objekt der Klasse „BufferingViewComponent“ ja noch keine Grafik „buffering.png“. Die Nachricht über die geladene „buffering.png“ ist natürlich längst verblasst ... Woher erhält (bei euch) die „BufferingViewComponent“ nun ihre „buffering.png“?
simmerl ist offline   Mit Zitat antworten
Alt 17-12-2010, 11:15   #7 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.935
Zu 4: Die Views (oder Mediatoren im Falle von Robotlegs) können sich auch
direkt bei den Models anmelden und direkt auf Änderungen reagieren.

So Dinge wie die Buffering oder Loading Grafik würde ich direkt am Anfang
laden, weil du damit ja die anschließenden Ladevorgänge visualisieren willst.
Vom Model kommen dann beispielsweise auch Notifications für Start und
Ende des Ladevorgangs, die du dann in der View (Robotlegs: Mediator)
verarbeitest
sebastian ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
asset management, framework, mvcs, robotlegs

Themen-Optionen
Ansicht

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

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
asset gesucht ? carsten cs Adobe AIR 3 18-08-2010 14:20
Multi-Asset-Loader Pearldrake ActionScript 3 5 19-03-2008 13:59
asset finden huschi Flash Einsteiger 5 12-04-2007 05:29
Media Asset Management Software gesucht Flasher17 Am Rande 4 27-01-2004 21:19
Asset Mover v1.0 Madokan Nachrichten 0 23-01-2003 10:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2014 Marc Thiele