Einfaches PureMVC-Beispiel

PureMVC ist bekanntlich ein Framework, um Anwendungen nach dem Model-View-Controller-Prinzip zu erstellen.

Das Open Source Framework funktioniert mit Flash, Flex und AIR. Darüber hinaus wurde es auch für zahreiche andere Programmiersprachen (z.B. C#, Java) portiert.

Based upon proven design patterns, this free, open source framework which was originally implemented in the ActionScript 3 language for use with Adobe Flex, Flash and AIR, is now being ported to all major development platforms.

Beispiel

Das Beispiel ist einfach gehalten und zeigt eine große Zahl, die die aktuelle Seite symbolisiert (also z.B. #1 für Seite 1). Insgesamt gibt es vier Seiten.

Über Buttons kann man eine Seite vor- und zurückblättern. Mit einem weitere Button kann man direkt auf Seite 3 springen.

[kml_flashembed publishmethod=“dynamic“ fversion=“10.0.0″ movie=“/wp-content/uploads/2010/01/puremvc.swf“ width=“500″ height=“375″ targetclass=“flashmovie“]

Get Adobe Flash player

[/kml_flashembed]

Mediator, Proxy, Command

Wie beim Robotlegs Framework, das in seiner MVCS-Implementierung dem PureMVC-Framework nachempfunden ist, gibt es für die View-Komponenten die Mediatoren.

Das Model wird in PureMVC Proxy genannt. Der Controller besteht aus den Commands, von denen es verschiedene Typen gibt.

Quellcode

Den kompletten Quellcode gibt es bei Github. Verbesserungsvorschläge und Korrekturen sind jederzeit willkommen :-)

Link: github.com/florianplag/PureMVC-Flex-Demo
Link: puremvc.org/
Link: Best Practices Document (deutsch)

[ad]

4 Gedanken zu „Einfaches PureMVC-Beispiel“

  1. Hi Flo,

    schönes, kleines Beispiel.

    Allerdings würde ich nicht für jeden Button einen Mediator anlegen. Bei mir verwaltet ein Mediator immer ein gewisses Set an Komponenten (Buttons, Displays, etc.). Sonst würde man IMHO den Code in größeren Projekten viel zu stark aufblähen. Ein Mediator verwaltet im Endeffekt eine View. z.B. ein Meditor für die Navigation, einer für einen Screen, einer für einen Layer usw.

    viele Grüße,
    Daniel

  2. Hi Daniel,
    danke für den Hinweis! Das stimmt, das wäre wahrscheinlich ein bisschen zu viel des Guten…

    Andere Frage: Hast du zufällig schon einmal mit den Pipes in PureMVC gearbeitet?

  3. Hi Flo,

    ja…habe es mal probiert, fand es aber – ehrlich gesagt – etwas zu umständlich. Alternativ kann man ja auch die verschiedenen Cores über Interfaces kommunizieren lassen. Hatte bisher aber auch selten mehr als 2 Cores in meine Projekten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert