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

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-03-2006, 20:46   #1 (permalink)
dreizeiler
 
Benutzerbild von mojave
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 1.401
_global in klassen vs. mvc?

meine applikation beinhaltet viele mc's.
die funktionalität der mc's ist in einer klasse realisiert.
die funktionalität aller mc's soll sich bei klick auf einen einzigen mc ändern.
was ich also brauche ist eine (globale) variable isActive=true;
momentan stellt eine modelklasse diese bereit.
da die mc's eine onEnterFrame prozedur besitzen und sich darin auf if(isActive) etwas ändern soll fragen sie momentan dort den zustand ab (model.isActive), was nicht gut ist.

:: ich frage mich ob ich besser alle mc's bei dem model als views registrieren soll, damit ich per schleife den zustand isActive verteilen kann. ::

jetzt gibt es da ja aber noch _global. ich fände die lösung irgendwie unsauber und sie würde auch nicht mvc entsprechen aber auf der anderen seite wäre es eine einfach art den mc's etwas mitzuteilen _global.isActive = true;

was sagt ihr?
mojave ist offline   Mit Zitat antworten
Alt 21-03-2006, 21:25   #2 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
Wenn deine Applikation erweiterbar sein soll würde ich sagen: Broken Window

Wenn du schnell fertig werden willst und nicht nochmal dran musst: YAGNI
__________________
elias ist offline   Mit Zitat antworten
Alt 21-03-2006, 22:10   #3 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg
Beiträge: 4.388
Würd ich per Listener machen, evtl. nicht mal nur eine Variable eines jeden MovieClips aktualisieren, sondern sogar seine onEnterFrame-Methode ensprechend umlinken / aktivieren / deaktivieren
Code:
    public function activeFrame(Void) : Void {     // ganz aktiv sein } public function passiveFrame(Void) : Void {     // tot stellen } public function activityChanged(newActivity:Boolean) : Void {     if (newActivity) {         onEnterFrame = activeFrame;     } else {         onEnterFrame = passiveFrame;     } }

Wobei eben statt passiveFrame auch null / delete onEnterFrame stehen kann.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 21-03-2006, 22:51   #4 (permalink)
dreizeiler
 
Benutzerbild von mojave
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 1.401
der listener ist eine gute idee!

die teilung der einzelnen aktionen in verschiedene onEnterFrame prozeduren wird wohl auch die (beste?) lösung sein.

ich muss sagen was flash und performance angeht bin ich durch einige erfahrungen unsicher geworden und auch etwas zu sehr darauf versteift flash bloss nicht überfordern zu wollen.
so habe ich diese variante vorerst nicht gewählt, da ich dann ja gemeinsamkeiten der onEnterFrames in funktionen auslagern würde und diese während des onEnterFrames aufrufen müsste. was wohl schwachsinn meinerseits ist.

ich muss dazu sagen, dass es sich bei der applikation um eine 3d anwendung handelt, die relativ komplex wird.

Geändert von mojave (21-03-2006 um 23:01 Uhr)
mojave ist offline   Mit Zitat antworten
Alt 22-03-2006, 11:50   #5 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Global in einer Klasse ist der erste Schritt zum Untergang
Wie wäre denn eine gemeinsame Superklasse?
r.
bokel ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



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

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


Copyright ©1999 – 2014 Marc Thiele