MVC Modell

davidh38

Bekanntes Mitglied
Hallo Leute,

ich versuche in mein Programm das MVC-Modell zu implementiere, was auf der Oraclehomepage als Beispiel steht. Ich behaupte mal soweit alles verstanden zu haben, allerdings hätte ich noch eine Modelllierungsfrage.

Bei dem Programm handelt es sich, um ein Verlängerungsprogramm für meine Bibliothek. Es gibt eine Einloggfenster, was verschwindet, nachdem man sich eingeloggt hat und ein Fenster, in dem man die Bücher anschauen kann, welche man ausgeliehen hat bzw. verlängern will.
Jetzt ist meine Frage: Sollte das Einloggfenster eine zweite view sein, die beim Controller registriert bzw. deregistriert wird oder sollte sie ein Teil der "Hauptview" sein?

Ich bin gespannt auf eure Antworten, vielen Dank im voraus.
 

ChrisKu

Bekanntes Mitglied
Meine Frage ist nur, ob eine neues Fenster als eine View gelten soll. Weiß das zufällig jemand?

Ich kenne zwar das Beispiel von der Oracle HP nicht aber ich denke, dass das Einloggen etwas anderes ist als das betrachten der Bücher. Diese Aufgaben würde ich sauber trennen und damit auch das Einlogfenster als ein gesonderten View definieren.
 

davidh38

Bekanntes Mitglied
Ich kenne zwar das Beispiel von der Oracle HP nicht aber ich denke, dass das Einloggen etwas anderes ist als das betrachten der Bücher. Diese Aufgaben würde ich sauber trennen und damit auch das Einlogfenster als ein gesonderten View definieren.

Hallo ChrisKu, tausend Dank für deine Antwort. Das Einloggfenster als zweite View zu definieren ist auf jeden Fall gut. Wie verhält es sich eigentlich mit Fenstern? Kann man sagen, pro Fenster eine View oder gibt es auch Fäll, in denen ich ein JFrame habe und mehrere Views habe.

Meine letzte Frage wäre noch, warum gibt es eigentlich mehrere Models. Sollte es für jede View auch ein Model geben und falls nicht, was ist der Sinn hinter einem zweiten Model. Brauche ich nicht ein Model für alle Views?
 

ChrisKu

Bekanntes Mitglied
Wie verhält es sich eigentlich mit Fenstern? Kann man sagen, pro Fenster eine View oder gibt es auch Fäll, in denen ich ein JFrame habe und mehrere Views habe.

Ein View kümmert sich ja um die Darstellung Deiner Daten und hat nicht unbedingt was mit einem JFrame zu tun. So kannst Du in einen JFrame ja durchaus unterschiedliche Views (z.B. JPanels) laden. Deutlicher wird es vielleicht beim Beispiel einer Web Anwendung. Da werden ja häufig in einem Browserfenster unterschiedliche Darstellungen (Views) geladen.

Sollte es für jede View auch ein Model geben und falls nicht, was ist der Sinn hinter einem zweiten Model. Brauche ich nicht ein Model für alle Views?

Das Model soll ja Deine Daten enthalten. In Deinem Fall enthält vielleicht ein Model die Datensätze aus der "Bücher" Tabelle und ein Model die Datensätze aus Deiner "User" Tabelle. Nun kann es sein, dass Du die Daten unterschiedlich darstellen willst, d.h. mehrere Views können die Daten eines Models nutzen.
 

davidh38

Bekanntes Mitglied
Das Model soll ja Deine Daten enthalten. In Deinem Fall enthält vielleicht ein Model die Datensätze aus der "Bücher" Tabelle und ein Model die Datensätze aus Deiner "User" Tabelle. Nun kann es sein, dass Du die Daten unterschiedlich darstellen willst, d.h. mehrere Views können die Daten eines Models nutzen.[/QUOTE]

Genauso ist es, das Model verbindet sich mit dem Webserver der Bibliothek und holt sich die Tabelle der ausgeliehenen Bücher. Wann wäre ein zweites Model sinnvoll? Mehrere Views leuchtet mir ein, aber warum verschieden Models?
 

ChrisKu

Bekanntes Mitglied
Genauso ist es, das Model verbindet sich mit dem Webserver der Bibliothek und holt sich die Tabelle der ausgeliehenen Bücher. Wann wäre ein zweites Model sinnvoll? Mehrere Views leuchtet mir ein, aber warum verschieden Models?

Stell Dir doch ein Model einmal vereinfacht wie ein "Template" für einen Datensatz aus Deiner Datenbank vor. Deine "User Daten" (die sich einloggen) kommen doch mit Sicherheit aus einer anderen Tabelle. Die "User Daten" haben erst einmal nichts in einem Datensatz für ein Buch zu suchen -> Ein zweites Model.
 

davidh38

Bekanntes Mitglied
Stell Dir doch ein Model einmal vereinfacht wie ein "Template" für einen Datensatz aus Deiner Datenbank vor. Deine "User Daten" (die sich einloggen) kommen doch mit Sicherheit aus einer anderen Tabelle. Die "User Daten" haben erst einmal nichts in einem Datensatz für ein Buch zu suchen -> Ein zweites Model.

Also sobald, die Datensätze wenig bis gar nichts miteinander zu tun haben, sollte man ein neues Modell erschaffen? Kann man das im Allgemeinen als Richtlinie nehmen?
 

Ähnliche Java Themen

Neue Themen


Oben