MVC Frage

dbausnnd

Aktives Mitglied
Hallo,

ich habe ein Problem beim Verständnis mit dem MVC Design. Im Internet findet man vielerlei Auslegungen deswegen mal hier meine Frage.

Wenn ich nach meinem Verständnis eine Anwendung nach MVC designen möchte und die Komponenten austauschbar sein sollen dürfen Sie untereinander nciht namentlich bekannt sein. Dem View übergebe ich nicht direkt das Model Objekt oder das Controller Objekt. Also muss ich doch mit Schnittstellne arbeiten. und dadurch habe ich für ein Frame gleich drei Interfaces und drei Implementierungen. Das alles nur damit alle drei Komponenten Austauschbar sind.

Das MVC Design macht doch höchstens bei Frames mit hoher Komplexität Sinn. Sonst ist der Overhead für die Programmierung doch viel zu groß.

Verstehe ich etwas an dem MVC Design falsch?
 

plexus

Mitglied
So weit ich weiss kann das grundsätzlich unterschiedlich und vor allem unterschiedlich streng ausgelegt werden.

Aber mit Interfaces habe ich hier wirklich noch nie gearbeitet. Und die Komponenten dürfen sich auch untereinander kennen, nur halt beschränkt. Im Normalfall kennen sich die die Teile folgendermaßen:

Controller --kennt--> Model // Der Controller verändert Daten im Model NICHT direkt an der View
Model --benachrichtigt--> View // Die View hört (zb mittels Events) auf das Model und ändert sich wenn nötig


Falls ich kleinere Elemente implementiere wie... sagen wir ein PopUp. Dann würde ich es direkt in ein packet "components" packen und etwas schummeln. Dann ist diese PopUp Klasse eben nicht aufgeteilt und View (Label), Model (Text) und Controller (OK-Click) ist in der gleichen Klasse. Ich finde man sollte es nicht übertreiben.


EDIT: Die englische Wikipedia hat eine gute Grafik
 
Zuletzt bearbeitet:

dbausnnd

Aktives Mitglied

Beide Tutorial beschreiben die das was ich in meiner Frage beschrieben habe. Beim ersten Beispiel kennt jedes der MVC Objekte die anderen Objekte und beim zweiten habe ich erst INterfaces die dann wiederum implementiert werden müssen, was zu einem aus meiner Sicht komplexen Konstrukt führt.

Ich habe bisher noch keine Implementierung gefunden die aus meiner Sicht übersichtlich bleibt und doch die Objekte sich nicht direkt kennen.
 

JavaMeetsBlueJ

Bekanntes Mitglied
Also, ich habe es in meinem aktuellen Projekt wie folgt umgesetzt.

Java:
public class Controller implements ActionListener{

Gui view;
TabellenModell model;

public Controller(Gui view, TabellenModell model)
{
 this.view = view;
 this.model = model;
}
view.btnExample.addActionListener(this);
view.fussballTabelle.setModel(model)


public void ActionPerformed(ActionEvent e){

model.updateTable();


}

}
Java:
public class TabellenModell extends AbstractTableModel
{
ArrayList <String> fussballTabele = new ArrayList<>();

//Methoden.....

public void updateTabelle()
{
// ist natürlich PseudoCode;)
}

}

Java:
public clas Start()
{
new Controller(new Gui, new TabellenModel())
}
Bei der view läuft das dann auch so wenn du z.B aus Textfeldern irgendwelche Strings auslesen möchtest. Hier die Daten an das Model zu übergeben(beispielsweise Strings für Textfeldeingaben) halte ich persönlich zu abstrakt/umständlich, aber das muss jeder selber wissen. Vielleicht konnte ich dir ja einen Anstoß geben.

Gruß
[WR]Der Code wurde ohne IDE geschrieben, deshalb behalte ich mir Fehler vor;)[/WR]
 

Bernd Hohmann

Top Contributor
Beim ersten Beispiel kennt jedes der MVC Objekte die anderen Objekte und beim zweiten habe ich erst INterfaces die dann wiederum implementiert werden müssen, was zu einem aus meiner Sicht komplexen Konstrukt führt.

Ich habe bisher noch keine Implementierung gefunden die aus meiner Sicht übersichtlich bleibt und doch die Objekte sich nicht direkt kennen.

MVC war mal kurz "state of the art", mittlerweile hat man sich davon gelöst und es durch etwas noch grauenvolleres, bislang Namenloses ersetzt.

Knackpunkt ist, dass die direkte Kopplung (also Controller greift direkt auf die Daten der View zu um das direkt im Model zu speichern) nur über ein Notify oder Message-Konstrukt durchbrochen werden kann was dann bei grösseren Applikationen schon heftig wird (ok, dafür gibt es Hausintern meisstens Generatoren die Stubs erstellen bzw. das Programm nachpflegen).

Ich persönlich habe also noch kein "echtes" MVC gesehen was händisch verwaltbar war - ok, ich kenne auch nicht alles und war auch paar Jahre raus aus der GUI Programmierung.

Bernd
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Frage zum Schieberegler JSlider AWT, Swing, JavaFX & SWT 5
thor_norsk Java - Allgemeine - Frage AWT, Swing, JavaFX & SWT 14
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 10
M Frage zu Java Bundesligaverwaltung AWT, Swing, JavaFX & SWT 7
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 9
E Frage zum Textfeld AWT, Swing, JavaFX & SWT 8
H Swing JMenu aufgeklappt oder nicht - Wie frage ich das ab? AWT, Swing, JavaFX & SWT 5
pkm Frage wegen java.lang.IllegalStateException bei DocumentListener AWT, Swing, JavaFX & SWT 4
D Frage zu ActionListenern und AvtionEvents AWT, Swing, JavaFX & SWT 2
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
F JavaFX Frage zum Logging AWT, Swing, JavaFX & SWT 6
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
ralfb1105 Swing Frage zu SwingWorker Verhalten bei cancel() AWT, Swing, JavaFX & SWT 2
J Frage zu setuserdata AWT, Swing, JavaFX & SWT 1
N Frage zu ListView AWT, Swing, JavaFX & SWT 11
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
T Frage zu GUI - Button soll Objekt erfassen AWT, Swing, JavaFX & SWT 2
J Event Handling Frage zu der Funktion addActionListener AWT, Swing, JavaFX & SWT 2
J Frage zur objektorentierten Swing Programmierung AWT, Swing, JavaFX & SWT 10
T JavaFX Frage zum FX-Loader AWT, Swing, JavaFX & SWT 3
B drawRect Frage und Aufgabenstellung AWT, Swing, JavaFX & SWT 10
fLooojava GridLayout - Frage bezüglich Kachelgröße AWT, Swing, JavaFX & SWT 5
S Frage zu java.awt.EventQueue AWT, Swing, JavaFX & SWT 1
J Frage zu Java Projekt [2D Game] AWT, Swing, JavaFX & SWT 3
M Swing Grundlegende Frage zu SWING mit WindowBuilder AWT, Swing, JavaFX & SWT 11
M Frage zum Loggen von Fehlern AWT, Swing, JavaFX & SWT 3
T Swing API Frage zu Verzeichnisbäumen und JTree AWT, Swing, JavaFX & SWT 1
M Thread-Frage in SWT AWT, Swing, JavaFX & SWT 1
Q Cursor Frage AWT, Swing, JavaFX & SWT 8
W JavaFX TableView frage AWT, Swing, JavaFX & SWT 5
H Taschenrechnerprojekt in Javafx - Frage zu den Buttons in FXML AWT, Swing, JavaFX & SWT 1
I Grundsätzliche Frage zu ItemListener AWT, Swing, JavaFX & SWT 11
X Kurze Frage zu JPopup AWT, Swing, JavaFX & SWT 3
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
D Frage zu JFrame und Graphics AWT, Swing, JavaFX & SWT 4
J Swing Frage zur Vorgehensweise (JTable?, JLabels?) AWT, Swing, JavaFX & SWT 8
S Frage zu Jtable / CellEditor AWT, Swing, JavaFX & SWT 1
kaoZ Frage zum einfügen von Componenten AWT, Swing, JavaFX & SWT 14
N Swing JTable anfänger frage AWT, Swing, JavaFX & SWT 2
S GridBagLayout-Frage AWT, Swing, JavaFX & SWT 1
V 2D-Grafik Frage zum Graphics Objekt AWT, Swing, JavaFX & SWT 2
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
G noch eine Frage zum EventDispachThread AWT, Swing, JavaFX & SWT 4
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
GianaSisters 2D-Grafik BufferedImage.getSubimage - Frage AWT, Swing, JavaFX & SWT 7
M Frage zu KeyListener bzgl. JApplet AWT, Swing, JavaFX & SWT 3
M Frage zu Threads AWT, Swing, JavaFX & SWT 3
N Swing JComboBox Frage AWT, Swing, JavaFX & SWT 5
Luk10 g.drawString funktioniert nicht + Frage zur Text-Rendering Qualität AWT, Swing, JavaFX & SWT 7
Luk10 Frage zu Farb-Komposition AWT, Swing, JavaFX & SWT 9
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
V SWT Import Wizard - frage zur WizardPage AWT, Swing, JavaFX & SWT 5
N Swing Frage JXMapviewer AWT, Swing, JavaFX & SWT 4
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
lumo SWT Zeichnen bescheunigen bzw eine allg. Frage AWT, Swing, JavaFX & SWT 8
H Frage zu übergebenem Vector bzw. Boolean AWT, Swing, JavaFX & SWT 3
C 2D-Grafik BufferedImage laden, Frage zum Code AWT, Swing, JavaFX & SWT 2
VfL_Freak Swing Frage zu "new JPasswordField( 10 )" AWT, Swing, JavaFX & SWT 6
H Frage zu WindowBuilder Pro AWT, Swing, JavaFX & SWT 3
C Frage/Problem mit Jpanel AWT, Swing, JavaFX & SWT 4
S Frage zu TextArea AWT, Swing, JavaFX & SWT 2
GUI-Programmer Zeichnen in Swing - Frage AWT, Swing, JavaFX & SWT 6
Luk10 Frage zu Mouseevents AWT, Swing, JavaFX & SWT 7
J Refreshing Swing Frage AWT, Swing, JavaFX & SWT 10
F Frage zu Event KeyTyped bei jPanel AWT, Swing, JavaFX & SWT 4
A Frage zu StringBuilder AWT, Swing, JavaFX & SWT 2
S allg. Frage zur GUI-Architektur AWT, Swing, JavaFX & SWT 5
A Frage zu JDialog AWT, Swing, JavaFX & SWT 3
A Frage zur Methode matches() AWT, Swing, JavaFX & SWT 2
P LayoutManager Verständnis-Frage GridBagLayout AWT, Swing, JavaFX & SWT 7
H Allgemeine Frage zu Grafikfähigkeiten von Java AWT, Swing, JavaFX & SWT 24
D Repaint Frage, Design Frage AWT, Swing, JavaFX & SWT 2
Jats Frage zu JLabel & JTextField AWT, Swing, JavaFX & SWT 4
Y frage zu BufferedImage AWT, Swing, JavaFX & SWT 7
hdi Swing Frage zu invokeAndWait() Exceptions AWT, Swing, JavaFX & SWT 8
P Swing Frage zu paintComponent/getGraphics AWT, Swing, JavaFX & SWT 4
M Frage nach Swing Element AWT, Swing, JavaFX & SWT 3
S Frage zu Graphics2D AWT, Swing, JavaFX & SWT 3
T AWT Frage zu AWT AWT, Swing, JavaFX & SWT 5
B Frage zu Swing,Threads, SwingWorker und Socket Communikation AWT, Swing, JavaFX & SWT 4
F unspezifizierte Frage zu JTable/ Model AWT, Swing, JavaFX & SWT 6
B SWT Frage zu MVC und Data-Binding AWT, Swing, JavaFX & SWT 8
T LookAndFeel Look and Feel Frage AWT, Swing, JavaFX & SWT 2
J Java2D Kreis/Kurven Frage AWT, Swing, JavaFX & SWT 2
P Kurze Frage zur Gestaltung eines vertikalen Menüs AWT, Swing, JavaFX & SWT 2
Dit_ Frage zum Thema SwingUtilities.invokeLater AWT, Swing, JavaFX & SWT 5
Eldorado Frage zur Anwendung des MVC-Konzept AWT, Swing, JavaFX & SWT 33
G Frage zu processMouseEvent AWT, Swing, JavaFX & SWT 6
M Zoomen in ein JPanel... und eine andere kleine Frage AWT, Swing, JavaFX & SWT 3
D Swing implementierungs-technische Frage zu JList/AbstractListModel AWT, Swing, JavaFX & SWT 7
C Event Frage AWT, Swing, JavaFX & SWT 7
A Frage zu GridLayout AWT, Swing, JavaFX & SWT 4
F Frage zu WindowListeners AWT, Swing, JavaFX & SWT 2
E einfache Frage:warum ist Hintergrund grau ? AWT, Swing, JavaFX & SWT 24
E einfache Frage zu paintComponent und Graphics AWT, Swing, JavaFX & SWT 7
C Frage zu ActionListenern AWT, Swing, JavaFX & SWT 7
D Frage @ someActionEvent.getActionCommand() AWT, Swing, JavaFX & SWT 2
Kr0e Allgemeine Frage zu Java2D (Eigene Impl.) AWT, Swing, JavaFX & SWT 18
L Einfache Layout Frage für Applet -> Was mache ich bloss falsch? AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben