| |||||||
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) |
| ... loves Japan! Registriert seit: Apr 2005 Ort: D'dorf; DE
Beiträge: 715
| Model View Controller Architektur
Hallo Board, kennt sich jemand sehr gut mit der Model View Controller Architektur aus? Ich bräuchte Hilfe beim Architekturdesign.
__________________ http://www.snyderhealth.com/candida.htm |
| | |
| | #2 (permalink) |
| dreizeiler Registriert seit: Sep 2004 Ort: Berlin
Beiträge: 1.411
|
ich beschäftige mich ebenfalls grade damit und wäre froh wenn jemand ein minimalbeispiel zeigen könnte. am besten mit hilfe der EventDispatcher-klasse von MM
Geändert von mojave (02-03-2006 um 11:26 Uhr) |
| | |
| | #3 (permalink) |
| ... loves Japan! Registriert seit: Apr 2005 Ort: D'dorf; DE
Beiträge: 715
|
Also ein Minimalbeispiel hast du hier: http://www.macromedia.com/devnet/fla...ontroller.html Ich suche nach einer MVC Beispielarchitektur für eine Webseite mit mehreren Sektionen und einem Haupmenu. Kann mir solche eine Architektur einfach nicht vorstellen. In dem Beispiel oben ist ja alles auf einem einzigen Stage. Wie ist es aber wenn der Benutzer auf einen Menüpunkt klickt und zu einer anderen Sektion der Seite springt? Braucht man dann für jede Sektion einen View und für alle sichtbaren Objekte dieser Sektion wieder einen View?
__________________ http://www.snyderhealth.com/candida.htm Geändert von compuboy1010 (02-03-2006 um 11:53 Uhr) |
| | |
| | #4 (permalink) |
| Flashaholic Registriert seit: Feb 2003 Ort: Berlin
Beiträge: 1.459
|
Fang doch erstmal klein an dazu reichen ja erstmal 4 klassen Flapp Model View Controller Flapp ist die Applikations klasse, in den anderen klassen erstellen wir zunächst einmal eine ganz simple implementierung. Dann gehen wir einen schritt weiter hier zunächst einmal die einfache basis mehr folgt später mfg alex
__________________ TVNEXT Solutions |
| | |
| | #5 (permalink) |
| dreizeiler Registriert seit: Sep 2004 Ort: Berlin
Beiträge: 1.411
|
vielen dank für so ein beispiel. jedoch mal abgesehen davon, dass ich nix sehe wenn ich's kompilliere verstehe ich nicht warum du dem model eine referenz auf den controller übergibtst. ich dachte das es ein wesentlicher bestandteil von mvc ist, dass das model weder v noch c kennt, und events sendet wenn was passiert, die der controller verarbeitet. |
| | |
| | #6 (permalink) |
| Flashaholic Registriert seit: Feb 2003 Ort: Berlin
Beiträge: 1.459
|
@mojave du mußt beim kompilieren vorher noch deinen classpath in flash erweitern Menü->Bearbeiten->Voreinstellungen->ActionScript und dann unten unter "ActionScript 2.0 Einstellung" einen neuen eintrag mit "./src" eintragen( ohne anführzeichen )in sachen Model <-> Controller wäre es mir neu das das model nix vom controller wissen darf, wenn man mit EventDispatching arbeitet ist das nicht zwingend notwendig das stimmt, ich finde es aber zu verwirrend in einem einfachen Beispiel eine komplexe Event Struktur zu integrieren, und deshalb weise ich dem model eine referenz auf den controller zu ![]() mfg alex
__________________ TVNEXT Solutions |
| | |
| | #7 (permalink) |
| dreizeiler Registriert seit: Sep 2004 Ort: Berlin
Beiträge: 1.411
|
ich habe mal eine frage zu einem echt simplen beispiel: ein button der den status on/off bewirkt. View: zeichnet den Button + Textfeld Model: speichert den status. Controller: ändert den status. -------------------------------------------- Model: sendet über EventDispatcher einen event "onStatusChange" PHP-Code: PHP-Code: PHP-Code: 1. frage: ist das soweit richtig verstanden? 2. frage: wie allerdings ist das mit der View-Klasse, die den Button und ein Textfeld zum anzeigen des status bereitstellt. wie behandel ich hier ereignisse? gehts es den weg: PHP-Code: |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Jan 2005 Ort: In the arena
Beiträge: 165
|
@atothek: auweia, da ist doch einiges verquer in deiner interpretation von mvc ![]() z.bsp. 'In MVC, The controller is NOT a Mediator between the view and the model.'. @mojave: 1. frage: ist das soweit richtig verstanden? fast: - das model verwaltet den status - ein view kennt das model, seinen controller und registriert sich als listener beim model - ein zum view gehöriger controller kennt seinen view und das model. 2. frage: wie allerdings ist das mit der View-Klasse, die den Button und ein Textfeld zum anzeigen des status bereitstellt. wie behandel ich hier ereignisse? der button im view wird geklickt. der controller fängt dieses ab und ändert den status im model. das model dispatched, das sich der status geändert hat. die textanzeige des views verändert sich dementsprechend. und wieder von vorne ... hoffe'shilft -sh
__________________ +++ Even a stopped clock gives the right time twice a day |
| | |
| | #9 (permalink) | |
| Flashaholic Registriert seit: Feb 2003 Ort: Berlin
Beiträge: 1.459
|
also zum einen würde ich das MVC nicht bei "Componenten" ähnlichen gebilden anwenden, das wäre wie mit kanonen auf spatzen schießen. Und dann ist deine logik nicht sinnvoll. du feuerst das onChange event ohne das was geändert wird ??? das muß genau anderes sein also das model ändert sich und danch feuert es das onChange event, der controller selber bekommt dann nur darüber bescheid und kann die view dann anpassen mfg alex EDIT @subHero Das sehe ich zb. ganz anders, der name sagt es doch schon aus, er kontrolliert also ist er der entscheidungsträger. und kontrolliert die view und das model. Sicherlich ist das eher das MVP prinzip und wenn du dir deinen beitrag durchliest beschreibst du ja genau das verhlaten aus meinen beispiel ![]() Zitat:
__________________ TVNEXT Solutions Geändert von atothek (02-03-2006 um 16:49 Uhr) | |
| | |
| | #10 (permalink) | ||
| Neuer User Registriert seit: Jan 2005 Ort: In the arena
Beiträge: 165
| Zitat:
Das sehe ich zb. ganz anders, der name sagt es doch schon aus, er kontrolliert den userinput eines views, also ist er der entscheidungsträger was darauf zu erfolgen hat. er kontrolliert den input des views und abhängig von diesem ändert er das model oder den view direkt. Sicherlich ist das eher das MVC prinzip ![]() Zitat:
![]() ![]() natürlich sind standalone-controller gängig (v.a. in tier-übergreifendem MVC, a la DB (Model), Browser (View) und DB-Access/Abstraction (Controller) ). aber im GUI-MVC sollte man meiner meinung nach nicht die flexibilität, welches einem die model-unabhängigen view-controller-paare liefern (v.a. in puncto wiederverwendbarkeit), aufgeben. mal ne gegenfrage: wie würdest du denn weitere views, bzw. controller in deinem schema unter einem model integrieren (z.bsp. navigation *und* sektion)? kann ja auch sein das ich aufm schlauch stehe... cheers -sh
__________________ +++ Even a stopped clock gives the right time twice a day | ||
| | |
| | #11 (permalink) | |
| Flashaholic Registriert seit: Feb 2003 Ort: Berlin
Beiträge: 1.459
|
also ich finde nicht das MVC ein derartiges Dogma ist, mir gefällt es zb. gar nicht das das model irgendwas von der view weiß, das model braucht die view gar nicht kennen, ich laß mal event basierte implemntierung dabei außen vor. Für mich ist halt der controller der dreh und angelpunkt oder ich sag mal lieber Presenter Ich persönlich finde das Beispiel von Moock ehrlich gesagt auch nicht toll. Ich finde es viel zu rückständig im vergleich zu dem MVP Pattern von Martin Fowler, der Ansatz ist wesentlicher interesanter und unabhängiger. ich glaube das ist dabei die wesentlichste aussage Zitat:
![]() richtige Projectimplemetierung sehen ehe ganz anders aus, da kommt man um EventBasierte umsetzungen sowie Managed Screens gar nicht drum rum. hier ist nochmal nen version mit 2 views, in 20 min umgesetzt, wobei das nun kein ernst zu nehmendes Beispiel ist. mfg alex
__________________ TVNEXT Solutions Geändert von atothek (02-03-2006 um 21:15 Uhr) | |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Jul 2001 Ort: Berlin | Friedrichshain
Beiträge: 3.561
|
sehr schickes beispiel.
__________________ 8bm | join ff@BOINC formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn |
| | |
| | #13 (permalink) |
| Nagelneuer User Registriert seit: Dec 2005
Beiträge: 924
|
Hier ist noch ein anderes Beispiel, das eher der klassischen Auffassung von MVC entspricht. Zwei Textfelder, die voneinander abhängen. Im oberen steht eine Zahl von 0 bis 200 und im unteren die entsprechende Prozentzahl. ActionScript:
Was ich dabei ein bißchen störend finde, ist das sich setValue und setPercent durch alle drei Klassen zieht. Jedes weitere Eingabefeld führt also immer zu drei weiteren Routinen. Wenn ich ein Formular mit 30 Feldern habe, kann das schnell unübersichtlich werden. mfg. h
__________________ The fact that you've got "Replica" written on the side of your gun and the fact that I've got "Desert Eagle written on the side of mine ... :D Geändert von hazy fantazy (04-03-2006 um 07:56 Uhr) |
| | |
| | #14 (permalink) | |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Aber diese Beispiele sind ja alle vergleichsweise primitiv. Was compuboy1010 wollte ist schon ein bißchen komplexer. MVC ist ja nur ein Aspekt bei so einer kompletten Seite, damit werden halt die Views an das Model angebunden. Zitat:
mfg. r.
__________________ Ralf Bokelberg™ - Flex & Flash Consulting Geändert von bokel (05-03-2006 um 08:46 Uhr) | |
| | |
| | #15 (permalink) |
| ... loves Japan! Registriert seit: Apr 2005 Ort: D'dorf; DE
Beiträge: 715
|
Wo bekommt man das? Caingorm?
__________________ http://www.snyderhealth.com/candida.htm |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |