Flashhilfe.de - Flash Community

design pattern mvc puremvc [Flash 10]

 


AntwortenRegistrieren Seite1  

derFloh#1
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

09.04.2010, 11:22

hey zusammen,

habe gerade einen beitrag gelesen, in dems um MVC und PureMVC ging. Ich hoffe Sebastian und Co können mir ein wenig weiter helfen.

Ich habe jetzt einige Seite mit MVC gebastelt und merke, dass es die ganze Struktur nur verkompilziert.
Die Frage ist nur, obs an mir liegt... Normalerweise sollte ja der controller alle userEingaben handeln und verarbeiten. Bei mir machen das mehr und mehr die view element, weil natürlich die ganze interaktion über die anzeigeobjekte laufen. Der controller steht beim event-handling dann letztlich im weg (da die events ja übers model verteilt werden).

Meine Frage:
Arbeite ich falsch damit? Hilft PureMVC da abhilfe? Was könnt Ihr empfehlen?

Danke euch
gruß
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
Sebastian#2
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

09.04.2010, 12:47

Hallo Flo,

wie Du sicherlich aus dem anderen Beitrag raus gelesen hast bin ich eben der Meinung das diese individuall MVC Lösungen nicht einem Framework vorgezogen werden sollten. Dies liegt schon alleine daran das Du so nicht die Chance hast das ein anderer Entwickler das eingesetzte Framework bereits kennt und sich somit nicht mehr einarbeiten muss.

Zu Deiner eigentlichen Fragen.
- es ist auf jeden Fall erst einmal aufwendiger die Applikation mit MVC zu schreiben
- komplizierter wird es dadurch allerdings nicht. Zumindest nicht mit PureMVC ;)

Ein paar Infos zu PureMVC
Es ist so das PureMVC intern mit Notifications kommuniziert die ähnlich eines Events sind. Du hast die Möglichkeit einen Command auf eine Notification zu mappen, oder aber einen Mediator (View-Controller). D.h. wenn Du mit jemand anderem zusammen arbeitest und der sagt: "Wenn Du mit dem Registrierungsprozess fertig bist, sende einfach die Notification: REG_FINISHED" kann es sein das ein Command aufgerufen wird, oder ein View-Controller. Wie auch immer, dir kann es egal sein. Schön ist es das Du das nicht wissen musst. Evtl. benötigst Du noch die Info ob Du einen Parameter mit schicken sollst. Und das ist die einzige Schwachstelle von PureMVC, dieser ist nämlich nicht typisiert. D.h. die Notification verschickt anonyme Objekte und der Empfänger muss wissen was er dort für ein Objekt empfängt. In der Praxis hat sich aber gezeigt das ein kurzes suchen nach der Notification die gewünschte Information bringt und es daher kein Problem darstellt.
- meistens sollte man ja mit Kommentaren im Code arbeiten und dadurch erübrigt sich ein solches Suchen ebenfalls ;)

Nehmen wir mal Dein Beispiel Usereingaben überprüfen:
Formular.mxml -> dispatched Event mit der Usereingabe
FormularMediator -> hört auf den Event, wandelt eine Notification um und sendet sie an das Framework
FormularCommand -> ist mit der Notification verknüpft und gibt die Daten einem Proxy weiter
FormularProxy -> prüft die Daten (evtl. Serverseitig) und schickt eine Notification raus (evtl. tut dies auch der Controller)
1. Formular Fehler: Notification wird gesendet das ein PopUp geöffnet werden soll, oder Notification wird an FormularMediator gesendet und der gibt den Fehler der View weiter bzw. blendet die Fehlermeldung in der View ein (die Notification ist immer die selbe, nur wer darauf hört kannst Du dann ganz easy ändern. Also wenn Du die Fehlermeldungen nicht mehr in dem Formular anzeigen möchtest sondern statt dessen lieber ein PopUP anzeigen willst, entfernst Du einfach den Notification Listener aus dem FormularMediator und lässt statt dessen einen PopUpMediator darauf hören)
2. Formular war ok: Notification wird von einer anderen View empfangen in der sich das Formular sowie eine vielen Dank Seite befindet. View wird also auf die vielen Dank Seite umgeswitched

Ich hoffe ich konnte Dir die Funktionsweise sowie Vorteile von PureMVC nahebringen.
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
derFloh#3
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

09.04.2010, 21:18

Wow super!
danke dir für die Infos!!!
Ich werde die Sachen in der kommenden Woche durcharbeiten
und mich sicherlich nochmal dazu melden.
Den Thread lass ich mal offen.

Danke Dir!
grüße
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
omega psi#4
Benutzerbild von omega psi
Beiträge: 791
Registriert: Apr 2004

10.04.2010, 10:11

Ja, PureMVC ist sicherlich ein gutes Framework, doch geht es glaube ich in erster Linie darum zu verstehen, was die Frameworks so sinnvoll macht, oder wann es wirtschaftlicher ist, ein eigenes Framework zu nutzen.

Der Sinn hinter der PureMVC Struktur ist es, einzelne Komponenten leicht zu erweitern oder auszutauschen. Auch die Testbarkeit kann unter hybriden View/Controller Kompositionen leiden.

Aber dennoch ist das MVC Pattern nicht zwangsläufig das einzige Pattern, dass Anwendung finden kann. Es gibt da einen reicheren Katalog. PureMC ist gut, auch wenn man auf Notifications verzichten könnte, wenn man stattdessen Events verwendet.

Wichtig in meinen Augen ist, das Framework und die angewandten Patterns zu verstehen und zudem kein Framework einzusetzen, um es einzusetzen. Die Strukturen sollten transparent sein, so dass man ein Framework einsetzen oder auch austauschen kann

My 0.02 €.
Architectures - Refactoring - Prototyping - Coding - Training

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de