Grundlegendes zu MVC

Status
Nicht offen für weitere Antworten.

scheibl

Aktives Mitglied
Da ich mich gerade (anfänglich) etwas mit dem MVC Pattern beschäftige bin ich auf ein Problem gestoßen. Bei den meist simplen Anfängerbeispielen kommen nie irgendwelche Listen, etc vor.

Ich möchte in meinem Programm mehrere Datensätze speichern --> eine List aus Mitarbeitern. Des weiteren möchte ich im Hintergrund mit einer kleinen MySQL arbeiten.

Liege ich komplett falsch wenn ich nun folgendermaßen strukturiere:

View: Grafische Benutzeroberflächen

Controller: Verarbeitung der Benutzeranfragen,etc

Model: Zugriff auf die DAO Klassen, Verbindung zur Datenbank,...

Egtl bräuchte ich ja mehrere Models um den Zugriff auf die einzelnen Tabellen zu regeln.

Habe ich dann in meinem Model eine List von MA Objekten, wobei ich dann immer ein Objekt an die View zum Anzeigen schickt??? Stimmt dazu meine Auffassung zum Thema MVC oder geschieht dies irgendwie anders?
 

Verjigorm

Top Contributor
Models sind "Datencontainer", also von einfachen Variablen über Arrays, Listen bis hin zu Datenklassen etc.

Verbindung zur Datenbank ist ganz klar dem Controller zuzuordnen :)
 

scheibl

Aktives Mitglied
Dann habe ich egtl ja ein Model, in der sich die ArrayList mit MA befindet und dahiner dann noch eine Entity in der sich die einzelnen getter und setter befinden?!?!?!
 

byte

Top Contributor
Die Mitarbeiter Klasse IST in Deinem Fall das Modell. Der Controller benutzt ein MitarbeiterDAO, um an die Liste der Mitarbeiter zu kommen. Diese werden dann in der View dargestellt.
 

scheibl

Aktives Mitglied
Dann lese ich zuerst alle Daten aus der DB ein und und dann merke ich mir im Controller die aktuelle Position in der List.

Im MA-Modell sind dann die jeweiligen getter und setter UND auch die List, wenn ich dies richtig verstanden habe???
 

byte

Top Contributor
Im MA-Modell sind dann die jeweiligen getter und setter UND auch die List, wenn ich dies richtig verstanden habe???

Nicht ganz. Du hast eine Klasse Mitarbeiter. Die hält alle Daten eines Mitarbeiters (Vorname, Nachname, ... was auch immer Du da brauchst). Jedes Objekt vom Typ Mitarbeiter repräsentiert genau einen Mitarbeiter. Du holst die Mitarbeiter-Objekte aus der Datenbank über ein MitarbeiterDAO. Dies hat eine Methode, die eine Liste von Mitarbeitern zurückliefert. Im Controller rufst Du diese Methode auf und bekommst so Deine Liste von Mitarbeitern. Diese kannst Du dann in einer View (z.B. JTable) anzeigen.
 

scheibl

Aktives Mitglied
Alles klar. Im Controller können dann die einzelnen Listen sein, wie Beispielsweise MA-Liste, Adress-Liste,...

Dann übergebe ich der View nicht mein MA-Modell sondern einfach ein MA-Objekt aus der Liste vom Controller?!
Ich glaube so langsam fange ich an zu begreifen...

Soll ich dann egtl bei jeder Änderung (zB Vorname, Nachname od so) wieder die Daten zurück in die DB schreiben oder gesammelt einen ganzen Datensatz. Aus Performance Gründen erscheint mir zweiteres günstiger...
 
Zuletzt bearbeitet:

MarcB

Bekanntes Mitglied
Wenn mans schon über DAOs macht, wird logischerweise das Objekt als ganzes persistiert.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen


Oben