Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich möchte wieder einmal eine Frage zum Thema MVC stellen. Mit welchem Teil von MVC soll man bei der Instanzierung generell beginnen? Ist es der Controller, welcher sich dann die Referenz zum Model und/oder zur View erstellt? Welcher Teil bringt die ganze Kette am ehesten ins Rollen? bisher habe ich eigentlich immer mit der View begonnen, doch das passt mir einfach nicht so ganz. Was sind hier so eure best practices?
Wie erstellt man einen View für ein noch nicht existentes Model???
Ich mache mir zunächst Gedanken zu den Daten, baue also das Model. Anschließend entwickle ich den View, teste somit auch gleich das Model auf Praxistauglichkeit. Zum Schluss kommt der Controller.
Also entweder habe ich die Frage falsch verstanden oder ihr. Er will nicht wissen, welchen Teil er als erstes designen soll sondern welchen Teil er als erstes instanziert. Sprich: Struktur von Model, View sowie Controller steht schon.
Also ich hab immer eine Controller-Klasse, die eine View-Instanz und eine Model-Instanz enthält. Folglich instanziere ich zuerst den Controller
Dabei dient der Controller quasi als Verbindung, d.h. die View ruft NIE direkt Model-Methoden auf, sondern immer welche des Controllers, die die Ergebnisse des Models quasi "durchreichen". Ist das eigentlich so gedacht? AlArenals Reihnfolge würde ich nämlich nicht machen können, den ohne Controller kommt die View nicht an die Daten...
Zum Lesen der Daten greift der View auf den Controller zu und nicht aufs Model? Wozu soll das gut sein? Ich bezweifle sehr stark, dass JTable, JTree & Co. so arbeiten...
hi, ja klar, wenn man noch NICHT weiss, was man überhaupt konkret machen will, dann macht man sich erstmal gedanken übers model, also was für entitäten es gibt und welche anderen geschäftsprozesse und so weiter. also kann man eine fallunterscheidung machen:
1. kompletter neubau des programms:
man überlegt sich, was man machen will und wie man das am besten auf entitäten etc abbildet. klassisches beispiel wäre da ja person oder kunde etc. dann überlegt man sich, welche geschäftsprozesse nötig sind. hat man das umgesetzt, ist das model ja fertig. dann weiss man ja auch, welche daten des models grafisch dargestellt werden sollen.
2. man weiss schon was es im model gibt:
na ja, klar wie kloßbrühe, dann gehts gleich mit dem view los. na ja, wer jetzt was zuerst aufruft, da würd ich so vorgehen und mache das auch immer so .
1. bei einem event in der gui wird ja eine actionperformed aufgerufen. in dieser methode wird eine passende methode im controller aufgerufen mit eventuellen parametern. also was weiss ich
Code:
//im view
GuiController gc = new GuiController();
String content=gc.loadTextFile(File);
2. der controller wendet sich dann über eine fassade, welche sich ans modell wendet, welches sich an die datenschicht wendet und die datei öffnet und ausliest und erhält einen string zurück. das ist der dateiinhalt.
Code:
//im controller
Facade f = new Facade();
f.loadTextFile(File); //hier könnte man auch noch Stragedy anwenden um verschiedene dateiarten zu unterstützen
3. jetzt öffnet der controller entweder ein neues fenster mit dem dateiinahlt oder er ruft eine methode zum beispiel
Code:
view.updateEditor(content);
auf um den inhalt im view darzustellen. also kennt die gui nur den controller, welcher ja trotzdem austauschbar bleibt, solang der name gleich ist. der controller kennt nur die fassade zum modell (anwendungsschicht) und ist somit lose gekoppelt und unabhängig von dem subsystem (dem model) welches durch die fassade gekaplselt wird. hm..so mach ichs immer. kritiken?