MVC-Pattern größeres Beispiel

Hallo,
wie der Titel schon sagt, suche ich ein Programm, welches mit dem MVC-Pattern realisiert worden ist... ich habe zwar schon einige Mini-Beispiele gefunden, nur helfen mir die nicht mehr weiter. Ich würde ein größeres Programm benötigen, am Besten eines mit einer GUI.

Kenn da jemand was?
Danke & Lg
Buzz
 

Thallius

Top Contributor
Wozu soll das denn gut sein? Ob ich nun 1 View, 1 Controller und 1 Model habe oder 20 von jedem. Das hilft doch nicht dem Verständnis...

Eigentlich ist schon ein Beispiel überflüssig. Wenn man sich das Pattern ein,al. wirklich durchliest dann versteht man es auch. Durch ein Tutorial lernt man das so oder so nicht.
 

Meniskusschaden

Top Contributor
Ob ich nun 1 View, 1 Controller und 1 Model habe oder 20 von jedem. Das hilft doch nicht dem Verständnis...
Ich finde eigentlich schon, dass das für das Verständnis wichtig ist. Es gibt viele Möglichkeiten, wie man das Konzept (richtig und falsch) interpretieren kann. Wie kommunizieren beispielsweise die Controller mit dem Model? Kennt jeder Controller sein individuelles Model-Objekt? Oder kennt er mehrere? Oder gibt es ein Model-Objekt als Model-Zugriffsschicht über das die Aufrufe sämtlicher Controller abgewickelt werden? Was passiert, wenn im Model ein neues Objekt entsteht, für das man ein eigenes View-Controller-Paar benötigt? Wer erstellt sie und wie macht er das? Solche Fragen sind am Anfang nicht leicht zu beantworten und anhand der trivialen Beispiele mit nur je einem Objekt erkennt man es kaum. Ich glaube, MVC ist ein Muster, mit dem man viel experimentieren und ein paar Fehlschläge hinnehmen muß, bis man eine gute Organisation gefunden hat.
Kenn da jemand was?
Ich kenne leider kein solches Beispiel. Vielleicht bringt es dir mehr, wenn du selbst versuchst ein kleines MVC-Programm zu erstellen und hier einfach konkret nachfragst, wenn du irgendwo nicht weiter kommst.
 

HarleyDavidson

Bekanntes Mitglied
Ich selbst habe ein kleines CRM mit Datenbank und Dateimanagement geschrieben, das auf dem MVC-Pattern aufliegt.
Im Grunde ist nur folgendes wichtig:
Der Controller instanziiert das Model und die View.
Bei meinem Beispiel wird auf dem Hauptframe eine Liste aller Kunden angezeigt. Wenn man nun auf einen Kunden klickt, wird das Kundenobjekt dem nächsten Controller übergeben (dem Kundencontroller), der dann wiederrum sein Model und seine View instanziiert.
So hast du für jedes Fenster ein loses Modul, dass du ohne Probleme testen kannst.
Globale Einstellungen wie Schriftarten, Datenbankverbindungen usw. halte ich in einem Appmanager-Objekt bereit, den ich als Singleton implementiert habe. Auf diese Klasse können alle Controller (oder Models) zugreifen.
Ich hoffe, die Beschreibung hat dir ein wenig geholfen.
 

mrBrown

Super-Moderator
Mitarbeiter
Etwas OT:

Der Controller instanziiert das Model und die View.
Wenn man's genau nimmt (zB nach POSA), nein.
Model wird unabhängig von View und Controller initialisiert, der View übergeben, und die instanziiert den Controller.

Gehören zur View.
Datenbankverbindungen
Gehören zum Model.
[...] halte ich in einem Appmanager-Objekt bereit, den ich als Singleton implementiert habe. Auf diese Klasse können alle Controller (oder Models) zugreifen.
Singleton umgesetzt mit öffentlicher statischer Instanz? Böses Antipattern :p
 

HarleyDavidson

Bekanntes Mitglied
Das Gute an einem Pattern ist, dass es ein Best-Pratice vorzeigt und man sich an ihm orientieren kann.
Für meinen Anwendungsfall habe ich mein Ziel erreicht: Modularisierung und damit leichte Wartbarkeit.
Ist vielleicht auch ein nützlicher Hinweis für den TE.

Ein global verfügbares Singleton Objekt? Was ist daran Antipattern? Damit verhindere ich, dass es u.a. mehrere Datenbankverbindungen gibt die sich gegenseitig blockieren.
 

Thallius

Top Contributor
Das Gute an einem Pattern ist, dass es ein Best-Pratice vorzeigt und man sich an ihm orientieren kann.
Für meinen Anwendungsfall habe ich mein Ziel erreicht: Modularisierung und damit leichte Wartbarkeit.
Ist vielleicht auch ein nützlicher Hinweis für den TE.

Ein global verfügbares Singleton Objekt? Was ist daran Antipattern? Damit verhindere ich, dass es u.a. mehrere Datenbankverbindungen gibt die sich gegenseitig blockieren.

Was ist daran modular wenn jedes Modul von deinem Singleton abhängig ist? Ich glaube Du hast den Begriff Modular noch nicht so ganz richtig verstanden.

Wenn Du Dein Singleton entfernst, dann geht weder dein View noch dein Model. Beide sind also essentiell abhängig von dem Singleton. Und das ist genau das Gegenteil von dem was MVC erreichen will.



Gruß

Claus
 

HarleyDavidson

Bekanntes Mitglied
Modular daran ist, dass ich nur diese eine Klasse mit Testverbindungen ausstatten muss und dann kann ich entweder meine komplette Applikation oder nur ein Modul damit testen.
Mal abgesehen davon hat noch niemand außer mir versucht dem TE bei seiner Frage zu helfen. Ich habe kein Problem, mein Code funktioniert und ich weiß was ich tue.
 

mrBrown

Super-Moderator
Mitarbeiter
Modular daran ist, dass ich nur diese eine Klasse mit Testverbindungen ausstatten muss und dann kann ich entweder meine komplette Applikation oder nur ein Modul damit testen.
Und wie stattest du die eine statische Instanz mit Testverbindungen aus?

Und nein, statische Singeltons bleiben da so Gegenteil von Modular.

Ich habe kein Problem, mein Code funktioniert und ich weiß was ich tue.

Ach wo ich diesen Satz liebe...
 

HarleyDavidson

Bekanntes Mitglied
Okay folgendes:
Ich habe für den TE ein Beispiel ohne Details genannt wie ich das Pattern für mich eingesetzt habe.
Ich habe etwaige Abweichungen vom Pattern erklärt.
Ihr nehmt mein Beispiel anhand der wenigen Informationen auseinander. Ihr macht eine Motordiagnose bevor ihr überhaupt die Autohaube geöffnet habt.
Das halte ich nun nicht weiter für eine sinnige Diskussion, die Beiträge sind seit dem letzten Post weder sachlich noch konstruktiv.
Vielleicht sollte sich hier jeder mal überlegen, was der Sinn von einem Forum ist. Ich habe in diesem immer gesehen, dass man nützliche Tipps und Hilfestellungen gibt. Der TE kann ja aus der hier entstandenen Diskussion selbst seine Schlüsse ziehen, ob er sich in Zukunft bei Fragen wieder an dieses Forum wendet.
 

AndiE

Top Contributor
Ich würde die Sache von hinten aufzäumen. Grundlage wäre eine JTable, die ja selbst eine MVC-Struktur erwartet. Dazu eine 1:n-Datenbeziehung. Praktisch also z.B. eine CD-Verwaltung. Der Benutzer kann CD's einlesen, und dazu die darauf vorhandenen Tracks. Er kann aus einem Listenfeld die CD heraussuchen und sieht dann in der Tabellenansicht, welche Tracks da drauf sind. Ich denke, das ist schon etwas größer, und lässt sich als MVC erstellen.
 

Flown

Administrator
Mitarbeiter
Was ist POSA?

Also Grundsätzlich gibt es Singletons die sinnvoll sind, z.B. LogMangager, Runtime, Desktop, Caches.
Das Problem mit Singletons sind einfach eine starke Kopplung und wenn du eben:
Globale Einstellungen wie Schriftarten, Datenbankverbindungen usw. halte ich in einem Appmanager-Objekt bereit, den ich als Singleton implementiert habe. Auf diese Klasse können alle Controller (oder Models) zugreifen.
alle "globalen" Konfigurationen hier drinnen hast, kann das für dich passen. Aber aufgeteilt und richtig modularisiert ist das auch nicht. Das Model braucht keine Informationen über Schriftarten und die View keine über DB-Verbindungen.

PS: Achja Singletons lassen sich mocken und testen.
 
Hallo,
danke für eure zahlreichen Antworten :) Ich hab mich jetzt mal hingesetzt und mir ein Konzept für ein Programm überlegt, welches ich mittels MVC umsetzen möchte. Zwar eine Filmdatenbank - ähnlich wie Griffith. Ich habe eine SQL Datenbank, wo sämtliche Filme mit Daten (Titel, Darsteller, Genre...) drinnen stehen. Diese sollen auf einer GUI angezeigt werden und eine Suchfunktion sollte das Programm auch haben. Der Benutzer sollte noch neue Filme für die Datenbank eingeben können. Ich denke, das ist ein gutes Beispiel für das MVC Pattern :)

Ich hab mal ein UML Diagramm erstellt und bitte um konstruktive Hinweise :) :)

Selection_007.png
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
mihe7 equals und instanceOf pattern matching Allgemeine Java-Themen 7
L Pattern Eventhandler Allgemeine Java-Themen 5
EinNickname9 Best Practice Singleton und Singleton mit Instanz zu anderer Klasse -Pattern Allgemeine Java-Themen 30
Z MVC Pattern - sinnvolle Integration Allgemeine Java-Themen 6
J Meinung zum verwendeten Design Pattern Allgemeine Java-Themen 4
Kirby.exe Filename nach bestimmtem Pattern durchsuchen Allgemeine Java-Themen 5
Meeresgott Best Practice "Spezifisches" Factory Pattern ? Allgemeine Java-Themen 1
H Strategy Pattern - changeColor() Methode - input rgd oder hex einlesen Allgemeine Java-Themen 1
M Vaadin MVP Pattern Allgemeine Java-Themen 1
N Java MVC Pattern richtig anwenden Allgemeine Java-Themen 24
M OOP Design Pattern - "extends Observable implements Observer" Allgemeine Java-Themen 0
K Factory Pattern: Mit Generics umgehen Allgemeine Java-Themen 6
perlenfischer1984 Welches Design Pattern ist geegneit. Allgemeine Java-Themen 7
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
J Compilerfehler bis in java.util.regex.Pattern... Allgemeine Java-Themen 2
GreenTeaYT Verstehe nicht ganz das Observer Pattern in einer Arrayliste? Allgemeine Java-Themen 3
L Erste Schritte Java Date Format Pattern bestimmten Allgemeine Java-Themen 2
D Pattern mit Pattern vergleichen Allgemeine Java-Themen 3
D OOP Design Pattern für GUI - Datenbank Anwendung Allgemeine Java-Themen 1
S Hilfe bei geeignetem Pattern (Decorierer) Allgemeine Java-Themen 2
F Welches Design Pattern? Allgemeine Java-Themen 3
J Pattern aus String entfernen Allgemeine Java-Themen 2
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
D Variablen zur Laufzeit global speichern (Registry Pattern?) Allgemeine Java-Themen 6
Rudolf State Pattern als Enum? Allgemeine Java-Themen 10
M massenhaft verschiedene Date-Pattern Allgemeine Java-Themen 3
Guybrush Threepwood Pattern gesucht: Punkt ohne Leerzeichen dahinter Allgemeine Java-Themen 3
turmaline OOP Decorater Pattern für Varifikationsverhalten Allgemeine Java-Themen 13
T HTML Tag Position mittels Pattern ermitteln Allgemeine Java-Themen 7
X Datentypen Prozentualer Abgleich zwischen 2 Strings (Pattern?) Allgemeine Java-Themen 3
H Pattern.compile Syntax Allgemeine Java-Themen 15
B RegEx: (Um-)formulieren eines Pattern zur Identifizierung komplexer URLs Allgemeine Java-Themen 7
D [Drag&Drop] Design-Pattern-Frage Allgemeine Java-Themen 4
T Pattern für Benutzer-Gruppen, RMI Allgemeine Java-Themen 5
E Super erzwingen, konzept/pattern gesucht. Allgemeine Java-Themen 8
H Problem mit der Klasse Pattern - Regulärer Ausdruck Allgemeine Java-Themen 2
Eldorado Meinung zu einem abgewandelten MVC-Pattern Allgemeine Java-Themen 2
R Matcher - Pattern mit belibigem Anfang Allgemeine Java-Themen 2
H Bestimmten String mit Pattern und Matcher herauslesen => kein erfolg Allgemeine Java-Themen 9
I Pattern zum Erweitern existierender Objekte Allgemeine Java-Themen 4
I Template Method pattern mit "geschützten Methoden" Allgemeine Java-Themen 5
T Pattern: Passive View Allgemeine Java-Themen 2
K Verständnisprobleme bei Observer-Pattern mit größerem Datenmodell Allgemeine Java-Themen 32
T Pattern: Greedy, Reluctant, Possessive Allgemeine Java-Themen 4
S Hilfe bei Pattern Allgemeine Java-Themen 5
N Registry Pattern Allgemeine Java-Themen 7
Tandibur Denkfehler bei Pattern.matches? Allgemeine Java-Themen 3
Tandibur pattern dynamisch vorkompilieren Allgemeine Java-Themen 9
A Observer Pattern: feuern bei neuer Referenz-Zuweisung? Allgemeine Java-Themen 8
N Pattern Allgemeine Java-Themen 11
Iron Monkey Pattern - Matcher - Problem Allgemeine Java-Themen 3
ruutaiokwu welches design pattern? frage an die oo-experten unter euch... Allgemeine Java-Themen 3
G Accordion Design Pattern Frage Allgemeine Java-Themen 2
hdi Hilfe beim Design (Stichwort OO, Pattern, ...) Allgemeine Java-Themen 11
U Verständnisschwierigkeiten Observer Pattern Allgemeine Java-Themen 18
H2SO3- String(pattern) von SimpleDateFormat auslesen Allgemeine Java-Themen 7
M Problem mit Pattern Allgemeine Java-Themen 3
N Welches design pattern? Allgemeine Java-Themen 8
B Pattern gesucht, Programm Optionen, Casten vermeiden Allgemeine Java-Themen 3
D Welches Pattern kann ich nutzen? Allgemeine Java-Themen 9
J Suche regex-Pattern fuer Liste von Zahlen zwischen 0-100 Allgemeine Java-Themen 6
G Sequenzdiagramm Dao Pattern Allgemeine Java-Themen 3
D Observer/Observable Pattern vs. Listener-Konzept Allgemeine Java-Themen 4
S regex-Pattern Ausdruck negieren Allgemeine Java-Themen 2
J Pattern eines Textes Allgemeine Java-Themen 4
M Java Garbage Collector Frage (Singleton Pattern) Allgemeine Java-Themen 13
Y Pattern Problem Allgemeine Java-Themen 2
G UML-Diagramme mit DAO Pattern Allgemeine Java-Themen 7
S Pattern regex Allgemeine Java-Themen 2
G Composite, Design Pattern, printTree Allgemeine Java-Themen 42
J Regex Pattern Problem Allgemeine Java-Themen 12
P MVC Pattern Allgemeine Java-Themen 31
C Pattern für Kommunikation gesucht Allgemeine Java-Themen 3
G Frage zu MVC Pattern Allgemeine Java-Themen 6
J Pattern und Regex Allgemeine Java-Themen 2
L Wie Pattern anwenden um Cipher zu nutzen Allgemeine Java-Themen 2
S Singleton Pattern mit Generics Allgemeine Java-Themen 4
M MVC Design Pattern - Verständniss Fragen Allgemeine Java-Themen 3
F Typüberprüfung in Superklasse - geeignetes Pattern? Allgemeine Java-Themen 11
M Java Pattern hilfe Allgemeine Java-Themen 6
N Observer Pattern Allgemeine Java-Themen 2
G Problem mit MVC-Pattern (Controller als anonyme Unterklasse) Allgemeine Java-Themen 2
F Design Pattern zur Realisierung von Mehrfachvererbung? Allgemeine Java-Themen 8
M Pattern aus Properties Allgemeine Java-Themen 3
I Composite Pattern für Ausgabe von Ausdruck Allgemeine Java-Themen 3
G mit Pattern strings filtern ein kleines problemchen ;) Allgemeine Java-Themen 2
M nach einem Pattern splitten Allgemeine Java-Themen 2
F Composite Pattern in Java? Allgemeine Java-Themen 1
G problem mit dem observer pattern Allgemeine Java-Themen 3
C Matcher/Pattern ersetzten für JDK 1.3 Allgemeine Java-Themen 2
M Pattern: Summary of regex constructs: Backslash Allgemeine Java-Themen 2
G Scanner und Abbruchbedingung/Pattern Allgemeine Java-Themen 2
F suche im Classpath mit Pattern *.gif Allgemeine Java-Themen 16
G Frage zum Observer Pattern Allgemeine Java-Themen 4
D Design Pattern: Singleton Allgemeine Java-Themen 4
M Pattern, Matcher, Split Allgemeine Java-Themen 2
O Suche größeres Beispiel für WebserverAnwendung mit Java Allgemeine Java-Themen 2
S Erstes größeres Java Projekt: Etiketten Allgemeine Java-Themen 3
F Einfaches Beispiel mit Netty Socket.IO Allgemeine Java-Themen 6
F Log4j2 SMTP Appender Beispiel Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben