Aezugles Geschrieben 7. Juni 2008 Teilen Geschrieben 7. Juni 2008 Hallo hab am Montag ne prüffung über MVC. Ich bin ein bisschen unsicher. Also: View = das Gui gehören da die werte die ins Gui geschrieben werden dazu oder ist das dan schon im Model drinn? Control = funktionen/aktionen Ich klicke irgend was an(Button,Filter,etc.) dies beeinflusst danach das Model. Model = Programm? das Model verarbeitet die Daten. hab ich das soweit richtig verstanden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 7. Juni 2008 Teilen Geschrieben 7. Juni 2008 Die Prüfung kommt wohl ziemlich unerwartet oder? Wiki noch nicht entdeckt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aezugles Geschrieben 7. Juni 2008 Autor Teilen Geschrieben 7. Juni 2008 haha, ja das schon aber ich brauch code Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aezugles Geschrieben 7. Juni 2008 Autor Teilen Geschrieben 7. Juni 2008 und auch via wiki bekomme ich nichts anderes raus. Mein problem ist nicht das erkennen was worein gehört, eher wie ich sowas in einem code realisiern kann. p.s. hab gerade wichtigere prüfungen als diese hier, daher der späte einsatz. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 8. Juni 2008 Teilen Geschrieben 8. Juni 2008 Eine ganz pauschale Aussage läßt sich da meiner Meinung nach kaum treffen, da die Komponenten je nach Anwendung mehr oder weniger umfangreich sind. Momentan arbeite ich an einer JSF-Anwendung, deren Daten größtenteils in einer Datenbank liegen. Klar ist dabei, daß die View das Webinterface umfaßt. Aber es gehören auch die Daten dazu, die vom Client zum Server geschickt werden. Zudem geht ein Teil des JSF-Lifecycles in die View mit ein. So kann man sagen, daß die View eben darstellungsrelevante Daten enthält und ebenso darstellungsrelevante Arbeiten übernimmt (wo hat sich was geändert; wen muß ich informieren). Das Model hingegen besteht zum einen aus den Daten der Datenbank. Dazu gehört wohl aber auch verarbeitender Code. Man stelle sich zum Beispiel eine Spalte "ADMIN" vor, die die Werte 0 bzw. 1 für ja/nein enthält. Ein Konverter, der die Werte 0/1 für die Anwendung auf true/false münzt und umgekehrt, gehört dann wohl auch zum Model. Ebenso prüfender/validierender Code. Der Controller ist da schon schwieriger zu definieren. Klar ist, daß er die Schnittstelle zwischen View und Model bildet und den "Business-Code" enthält. Dabei kann man die Grenzen an den Schnittstellen beliebig fließend gestalten. Beispielsweise kann man den Code, der nur Aufbereitung für die View betreibt im Business-Code verankern, man kann ihn aber auch elegant davon trennen, wodurch er eher zur View zählt. Da kommt es eben auf den Umfang des Projekts an. Aber grundsätzlich ist der Controller eben dazu da, die Daten des Models für die View bereit zu stellen und auf die Aktionen der View entsprechend zu reagieren. Ob jetzt mit Fehlermeldungen oder mit einer Anpassung des Models. Und das Model kümmert sich um die Konsistenz der Daten. So in etwas Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aezugles Geschrieben 8. Juni 2008 Autor Teilen Geschrieben 8. Juni 2008 @newlukai Vielen Dank eine sehr gute Erklärung! Das hat mich weiter gebracht. Die Theorie ist mir nun klar, Jedoch hab ich probleme mit dem code. Wie kann ich den code so schreiben? kleines beispiel ? Danke vielmals Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 8. Juni 2008 Teilen Geschrieben 8. Juni 2008 Kleines Beispiel ist gut MVC wird eher in größeren Projekten angewandt. Aber glücklicherweise habe ich da tatsächlich durch die Übungen im Studium das ein oder andere anschauliche Beispiel. Kennst Du Dich ein wenig mit Java aus? Dann würde ich Dir mal etwas zukommen lassen. Ich kann's mal kurz erläutern: Aufgabe war es eine Artikel-Verwaltung zu schreiben. Der Nutzer sollte also auf der Konsole einen Artikel in ein Lager einpflegen können bzw. löschen/ausgeben/etc. Dazu gibt's auf der einen Seite eine Klasse Artikel, die die Daten eines Artikels enthält und fast ausschließlich zur Datenhaltung da ist. Zusätzlich enthält sie noch etwas prüfenden Code. Die Artikel sollten von einer Klasse Lager verwaltet werden. In diesem Fall in einem Array. Das Lager kümmert sich also eher um Fragen wie "Ist das Lager voll?", "Ist der einzufügende Artikel schon im Lager?" etc. Dann gibt es noch eine Klasse, die die Daten in eine Datei schreibt. Und eine Klasse, die sich um die Ein-/Ausgabe kümmert, ist auch vorhanden. Model und View können dabei klar getrennt werden. Doch der Controller geht - wegen der Größe des Projekts - in der View auf. Also übernimmt die Klasse, die die Ein-/Ausgabe enthält eben nicht nur die Ein-/Ausgabe sondern auch einen Großteil der Frage, wie auf welche Eingabe zu reagieren ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Panke Geschrieben 15. Juni 2008 Teilen Geschrieben 15. Juni 2008 (bearbeitet) Das ganze auch mit Beispiel gibt es hier Eigentlich läuft es auf folgendes hinaus. Du hast drei unabhängige Teile in deinem Programm. Ein Model, mindestens ein View und mindestens ein Controller. Das Model hält die Daten. Es stehen zwar auch im View Daten, da der View sie ja anzeigen muss, aber eben auch nur die, die er anzeigen muss. Und für die Konsistenz ist das Model zuständig. Ein View ist eine graphische Darstellung der Daten und des Zustandes des Programmes. Ein Controller ist alles, was Ereignisse ausserhalb des Programmes verarbeitet und entsprechende Nachrichten an Model und View weiterleitet. Bearbeitet 15. Juni 2008 von Panke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.