OOP MVC -> Ja/Nein?

multiholle

Aktives Mitglied
Ich programmiere eine kleine Datenbankanwendungen und überlege gerade wie ich die Struktur meines Programms gestalte.

Die Oberfläche besteht aus einer Menüleiste, einem Hauptfenster und einer Statusleiste. Das Hauptfenster zeit, abhängig vom Menüpunkt den passenden Inhalt. Jeder "Menüpunkt" der im Hauptfenster angezeigt wird liegt in einem eigenen Panel, genauso wie Menü- und Statusleiste.

Wenn ich das ganze nach dem MVC-Konzept aufbaue, werden aus jedem Panel 3 Klassen. Das ist schon ganz schön viel. Außerdem bauen die Panels ja teilweise aufeinander auf. Wie realisiere ich denn da die Verbindung?
 
Zuletzt bearbeitet:

multiholle

Aktives Mitglied
Ich habe mal versucht ein Klassendiagramm zu entwerfen, wobei ich jetzt Model und Controller zu einer Klasse zusammengeführt habe. Zudem gibt es einen Hauptcontroller, der alle Controller zusammenführt und dei Anfragen an den entsprechenden Controller weiterleitet. Die einzelnen View bekommen diesen Controller, um auf seine Funktionen zuzugreifen und werden informiert, sobald sich beim Controller was ändert (Observer Pattern).

 

multiholle

Aktives Mitglied
Keiner eine Meinung dazu? Was mich im Moment stört, ist dass jede Methode der einzelnen Controller in den Hauptcontrolloler eingfügt werden muss, damit der Hauptcontroller die einzelnen Controller ansprechen kann.
 

Marco13

Top Contributor
An dem Klassendiagramm erkenne ich jetzt nicht, welche Funktionen die einzelnen Elemente übernehmen sollen. Außerdem ist nicht klar, WAS in den Panels angezeigt wird. Als ich den ersten Beitrag gelesen hatte, wollte ich schon etwas antworten, aber habe dann noch gewartet, ob vielleicht jemand anderes was cleveres dazu sagen will. Meine Antwort wäre ein Hinweis darauf gewesen, dass mir nicht klar ist, was das Datenmodell ist, und man MVC IMHO nicht vom GUI her, sondern vom Modell her aufbaut. Also, ob nun dieser Button in Panel A und dieser Slider in Panel B liegt, sollte auf die zugrundeliegende Klassenstruktur IMHO nicht sooo viel Einfluß haben....
 

multiholle

Aktives Mitglied
Ich habe das Klassendiagramm nochmal etwas überarbeitet. Hoffentlich ist es jetzt aussagekräftiger.

Es gibt zu jedem GUI-Elemt eine View und einen Controller (inkl. Model): Component, Toolbar, StatusBar. Wobei Component für verschiedene Komponenten steht (versch. Tabellen, Übersichten, ...).

Die Funktionalität der geamten GUI wird im ClientController zusammengeführt. Dieser leitet die Anfragen dann an die zuständigen Controller weiter (siehe Beispiel StatusBar). Zusätzlich stellt der ClientController die Verbindung zu Datenbank her.

Ist das ganze jetzt verständlicher? Kann man das so machen?



 
Zuletzt bearbeitet:

Marco13

Top Contributor
Wie du schon selbst angedeutet hast: Dass alle Controller durch den Hauptcontroller durchgeschleift werden, könnte (je nachdem, was die so alles machen) aufwändig werden....
 

multiholle

Aktives Mitglied
Was gibt es für Alternativen? Man könnte die Kontroller per Get-Methoden verfügbar machen, allerdings werden dann die Aufrufe relativ lang:
Java:
client.setStatusText();
client.getStatusBarController.setStatusText();

Oder gibt es noch ganz andere Ansätze die man verfolgen könnte? Bis jetzt ist noch fast nichts implementiert, deswegen möchte ich mir das gut überlegen.
 

Marco13

Top Contributor
Solche Architekturfragen sind schwer zu beantworten. Es kennt niemand dein Datenmodell und die Aufgaben der Controller, und welche Aufrufe wo weitergereicht werden müssen, und welche Abhängigkeiten sie wozu haben. (Und selbst wenn du das alles posten würdest, müßte das erstmal jemand nachvollziehen und sich genau Gedanken drüber machen....)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
sserio Endlosschleife ja nein? Java Basics - Anfänger-Themen 13
T jOptionPane zum schließen von Fenster, wie "Ja" und "Nein" anstatt Yes und No Java Basics - Anfänger-Themen 2
K FYI: Reguläre Ausdrücke nutzen ja/nein Java Basics - Anfänger-Themen 2
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
R Primzahl ja/nein - besserer Code möglich? Java Basics - Anfänger-Themen 2
F Ja Nein Abfrage und andere Probleme Java Basics - Anfänger-Themen 5
X Ja nein abfrage? Java Basics - Anfänger-Themen 9
kaoZ Stil ? - ....Nein nicht das Ende des Besens ^^ Java Basics - Anfänger-Themen 11
D Button´s Visible via Ja/Nein eingabe Java Basics - Anfänger-Themen 13
Ksanatos Ja nein verzweigung. Java Basics - Anfänger-Themen 22
N Anfrage- wiederholen Ja oder Nein Java Basics - Anfänger-Themen 12
I wie definiere ich ja oder nein für true or false Java Basics - Anfänger-Themen 7
M Kompilieren - Eclipse ja, Konsole nein Java Basics - Anfänger-Themen 15
A Englisch ja oder nein Java Basics - Anfänger-Themen 19
O import ja....extends nein Java Basics - Anfänger-Themen 5
Kasoki Compilen von Java Scripts (Nein kein JavaScript xD) Java Basics - Anfänger-Themen 13
V Return - JA/NEIN - Parameterübergabe Array (Referenz) Java Basics - Anfänger-Themen 7
G ZUfällig "ja" "nein" oder "vielleic Java Basics - Anfänger-Themen 7
I Dialog - "Ja" / "Nein" abfangen Java Basics - Anfänger-Themen 3
M JSP: Problem bei Link ja oder nein? Java Basics - Anfänger-Themen 2
D Komponente setvisible ja-nein Java Basics - Anfänger-Themen 4
M Datei vorhanden ja/nein? Java Basics - Anfänger-Themen 9
M Parameter existiert ja/nein - prüfen? Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben