Aber Services, DAOs sind in der mittleren Schicht (Business- Schicht) und Services verwenden DAOs aber DAOs verwenden keine Services, kann man das mal so sagen?
Wie gesagt, in einer Mehrschichtarchitektur existiert MVC ausschliesslich nur in der Präsentationsschicht, aber viele sehen das falsch, Fowler hat darüber in seinem Buch PAEE schon geschriebenIch finde auch dass man eine große dreischichtige Serveranwendung als MVC bezeichnen kann..
Wie weit die Meinungen zu MVC auseinandergehen sieht man im übrigen an unserem FAQ Beitrag dazuwas ist denn MVC, was sind denn Pattern wenn nicht die Sicht von vielen Menschen?
niemand hat ein Anrecht oder die Definitionshoheit darüber,
was richtig oder falsch ist entscheidet die Mehrheit und auch nicht unterdrückbare Minderheiten zählen als Sicht dazu![]()
das sind Details, auf die man verzichten kannTatsache ist, wenn ich MVC auf "alle Schichten" anwende habe ich keine Schichtentrennung mehr und damit keine Schichten-"Architektur"
Was du da beschreibst ist kein Schichtenmodell SlaterB, und nebenbei bemerkt, Model != Persistenz, dafür gibt es eigene Schichten, Model ist Teil der Businessschicht, Persistenz eine eigene Schicht, wurde früher "Integration Tier" genannt.MVC macht ebenso perfekt für die Schichtenarchitektur Sinn,
Model = Persistenz,
View alles oben, egal ob gerade HTML oder RMI-Client, austauschbar,
Controller die Logik-Klassen
Da muss man auch auf das Detail "Schichtenarchitektur" verzichtendas sind Details, auf die man verzichten kann
Eine Webanwednung ist noch keine JEE Schichtenarchitektur.was möchtest du sagen, dass man in einer Webanwendnung nicht nach View, Logik und Daten unterscheiden kann?
das macht doch keinen Sinn, selbstverständlich gibt es diese Bereiche,
Details wie dass die Daten-Schicht in Model-Klassen und Persistenz-Logik zerfällt sind dem untergeordnet, überall findet man Substrukturen,
Wie ich in meinem ersten Post hier schon sagte, da verwechselst du etwas> Wenn die GUI jetzt direkt auf die Persistenzschicht zugreift
wie gesagt, Details auf die man verzichten kann, das wird bei dieser Art MVC überhaupt nicht betrachtet,
wobei oft genug wirklich direkt mit dem Model gearbeitet wird, die Logik reicht einfach die Original-Objekte durch
Hier zB.:an welcher Stelle habe ich denn Schichten ignoriert?
Sorry, aber das ist grundsätzlich falsch, wie schon beim TS, nochmals: Das ist kein Schichtenmodell.MVC was hier bedeutet: eine Schicht für die Anzeige, eine für die Daten, eine für die Logik,
Du nimmst zwei unabhängige Begriffe und setzt sie gleich, MVC hat keine Schichten und ist auch kein Schichtenmodell, kann aber in einem Schichtenmodell eingesetzt werden.möchtest du außer 'das ist falsch' auch noch inhaltlich darauf eingehen?
mit Swing-Models kommt man da nicht weit, auf eine Webanwendung mit Datenschicht + Businesslogik völlig unabhängig vom Frontend passt der Satz aber perfektZiel des Musters ist ein flexibler Programmentwurf, der eine spätere Änderung oder Erweiterung erleichtert und eine Wiederverwendbarkeit der einzelnen Komponenten ermöglicht.
Es ist dann zum Beispiel möglich, eine Anwendung zu schreiben, die das gleiche Modell benutzt, aber einerseits eine Windows- oder Linux-Oberfläche realisiert, andererseits aber auch eine Weboberfläche beinhaltet.
Nix für ungut SlaterB, aber du redest nur von MVC, nicht von Schichtenmodellen bzw. JEE Architekturen.nun gut, zumindest kein Widerspruch in den Kernaussagen,
für meinen Geschmack siehst du MVC extrem zu eng für den kleinen Bereich nur innerhalb der Präsentationsschicht,
Soweit richtig, allerdings ist das "Bindeglied" das Remote Interface deiner SessionBean (Proxy), aber der Aufruf ist natürlich im Controller der GUI.
du wiederholst immer nur deine Aussage 'es ist nicht so' ohne irgendwelche Argumente,MVC und Schichtenmodelle haben eigentlich nix miteinander zu tun, können zwar komibinert werden, die beiden Begriffe sind aber nicht substituierbar.
Deswegen reden wir hier seit Stunden aneinander vorbei, hat nix damit zu tun wie ich MVC sehe, sondern damit wie du Schichtenmodelle nicht siehst![]()
Du holst dir das RemoteInterface der SessionEjb per JNDI und rufst da die Methoden auf, das kann aus einem Swing Client, einem Servlet oder von einem anderen Client aus passieren.Das versteh ich ehrlich gesagt nicht so ganz, könntest du das vielleicht nochmal ein bisschen genauer erklären?
Besten Dank
Es würde helfen wenn du dir mal was zu Schichtenmodellen durchlesen würdest, ich sage dir seit x-Posts dass MVC und Schichtenmodelle nicht dasselbe sind, von dir kommt danndu wiederholst immer nur deine Aussage 'es ist nicht so' ohne irgendwelche Argumente,
falls du das nur machst um freundlicherweise überhaupt zu antworten, ist das ok,
mich überzeugen wird das aber kaum, da müsstest du auf den Inhalt eingehen,
ich sage ja schließlich auch nicht nur 'es ist so', sondern lege detailliert dar, wie die Elemente aufeinander passen und der Grundablauf tatsächlich stattfindet
:autsch:MVC was hier bedeutet: eine Schicht/ Einheit für die Anzeige, eine für die Daten, eine für die Logik,...
Man kann alles über 17 Ecken interpretieren, aber irgendwann verlieren diese Interpretationen ihren Wert wenn man nicht dieselben Begriffe verwendet.es kommt von dir weiter keine inhaltliche Aussage, ich verstehe alles zu Schichten und MVC,
liefere Argumente um Argumente, aber du nimmst keine an noch gibts eigene,
da komme ich tatsächlich nicht weiter
'MVC was hier bedeutet' heißt wie MVC hier zu interpretieren ist, zum dritten Mal: etwas was 'Model' ist darf doch über 17 Ecken interpretiert mit einem Ding was man auch 'Model-Schicht' nennt in Verbindung gebracht werden,
wenn nicht einfach nur wegen der Namensgleichheit (das wäre wirklich zu kritisieren) sondern weil es inhaltlich in die Abläufe und die Abhängigkeiten passt,
ich diskutierte aus beiden Sichten nicht die exakte Definition (die sich bei MVC ja teils auf einen anderen Aspekt bezieht, daher gar nicht passen KANN) sondern wie es hier zusammenzubringen, wirklich fürs Verständis 'umzubiegen' ist, wenn man dazu gewillt ist,
das kannst du doch nicht völlig abkanzeln ohne jedes Argument
`When I use a word,' Humpty Dumpty said in rather a scornful tone, `it means just what I choose it to mean -- neither more nor less.'
Ohne gemeinsame Sprache kann man nicht kommunizieren, wenn ich jetzt ein "Ja" als "Nein" interpretiere und ein "Niemals" als "Auf jedenfall" ist das nicht hilfreich für die Kommunikation.@maki
wie gesagt,
"für meinen Geschmack siehst du MVC extrem zu eng für den kleinen Bereich nur innerhalb der Präsentationsschicht"
das ist ja noch eine Stufe davor, wenn du dich gar nicht auf die grundsätzliche Interpretation einläßt, dann brauchst du ja um die anderen Dinge wie 'Schichten verletzt gar nicht kümmern
Bei MVC im klassischen Sinne steuert doch der Controller die View. Beispiel (Richclient): Controller horcht auf Änderungen im Modell und triggert dann einen Repaint in der View. Beispiel (Webclient): Request kommt rein, Controller macht Berechnungen und triggert rendern der View (JSP). Der Controller muss also eine Abhängigkeit auf die View haben. Daher kommt V -> C -> M ja nicht in Frage. Und da liegt halt der Widerspruch, denn dann kann man aus V keine Businesslogik mehr in C triggern. Das geht nur wenn V <-> C und das ist im Schichtenmodell nicht möglich.ich befinde mich auch im 3-Schichten-Modell und die Reihenfolge ist V, C, M,
wie kommt es denn bei dir zum Zwang auf C, V, M?
Du erkennst vielleciht die Argumente nicht wenn du die Begriffe anders deutest.wie gewohnt ohne jedes inhaltliche Argument,
Nein, Schichtenmodelle haben nicht notwendigerweise eine GUI/View, MVC dagegen immer.dass es bei beiden eine View, ein Model und was dazwischen gibt,
dass es bei beiden generell um die Frage geht, wie ein Request bearbeitet wird, wie sich das Model ändert, woraus ein View dargestellt wird,
Diese "extremen" Gemeinsamkeiten siehst eben nur du mit deiner Einzelmeinung...solche extremen gemeinsamen Fragen ignorierst du und sprichst von Äpfeln und Birnen,
die Abhängigkeit ist der Rückgabewert, der bestimmt was als nächstes angezeigt wird,Bei MVC im klassischen Sinne steuert doch der Controller die View. Beispiel (Richclient): Controller horcht auf Änderungen im Modell und triggert dann einen Repaint in der View. Beispiel (Webclient): Request kommt rein, Controller macht Berechnungen und triggert rendern der View (JSP). Der Controller muss also eine Abhängigkeit auf die View haben.
Client sendet Anfrage x mit Parametern y,Beispiel (Webclient): Request kommt rein, Controller macht Berechnungen und triggert rendern der View (JSP).
es geht doch von Anfang an um das 3-Schichten-Modell einer Webanwendung, oben auf die Präsentationsschicht,Nein, Schichtenmodelle haben nicht notwendigerweise eine GUI/View, MVC dagegen immer.dass es bei beiden eine View, ein Model und was dazwischen gibt,
dass es bei beiden generell um die Frage geht, wie ein Request bearbeitet wird, wie sich das Model ändert, woraus ein View dargestellt wird,
entschuldige, 'nein, das ist kein MVC', 'MVC ist was anderes', 'MVC hat hier nix zu tun', 'Schichten gehen anders' usw. sind für mich keine inhaltlichen Argumente, überall fehlt das magische Warum,Aber wenn ich sage dass MVC 'ne reine GUI Kiste ist per Definition, dann wird das nciht als Argument gewertet?
Du ignorierst doch schon seit x-Post meine Argumente und versuchst dann künstliche Gemeinsamkeiten zu finden...
tja, soll ich einen mathematischen Beweis führen?Diese "extremen" Gemeinsamkeiten siehst eben nur du mit deiner Einzelmeinung...solche extremen gemeinsamen Fragen ignorierst du und sprichst von Äpfeln und Birnen,
Am Anfang war von Web nie die Rede (bis du damit angefangen hast), nur von J2EE Architektur. JEE ist ein Schichtenmodell, und letzteres muss nicht notwendigerweise eine GUI haben(WebServices zB. reichen für B2B), das hatte ich gesagt & gemeint, um den Unterschied zwischen Schichtenmodell und MVC deutlicher zu machen.es geht doch von Anfang an um das 3-Schichten-Modell einer Webanwendung, oben auf die Präsentationsschicht,
wie kann es da keine View geben?
Das erste was ich sagte: MVC exisitert nur in der Präsentationschicht, deine Antwort: Interpretationssache eines Wikipedia Artikelsentschuldige, 'nein, das ist kein MVC', 'MVC ist was anderes', 'MVC hat hier nix zu tun', 'Schichten gehen anders' usw. sind für mich keine inhaltlichen Argumente, überall fehlt das magische Warum,
ich gebe aber gerne zu dass du davon jede Menge schreibst, wollte ich nicht ignorieren,
Kannst du gerne versuchen, wird auch falsch sein solange du dir die Schichtenmodelle nicht grundsätzlich verstanden hast..tja, soll ich einen mathematischen Beweis führen?
wer bei "Präsentation - Logik - Daten" zu "View - Controller - Model" keinen Zusammenhang erkennt?!
ich kann selbstverständlich nur meine Meinung wiedergeben
im ersten Posting ist doch das 3-Schichten-Modell mit View (= Präsentationsschicht) vor dem Client, es ist doch klar worum es geht?Am Anfang war von Web nie die Rede (bis du damit angefangen hast), nur von J2EE Architektur. JEE ist ein Schichtenmodell, und letzteres muss nicht notwendigerweise eine GUI haben(WebServices zB. reichen für B2B), das hatte ich gesagt & gemeint, um den Unterschied zwischen Schichtenmodell und MVC deutlicher zu machen.
ist ja ok, bei dem Punkt waren wir schon 2x, du möchtest es nicht so betrachtenDas erste was ich sagte: MVC exisitert nur in der Präsentationschicht, deine Antwort: Interpretationssache eines Wikipedia Artikels
Sorry, aber so läuft das nicht.
dieses Seitenthema kannst du dir eigentlich ganz sparen,Kannst du gerne versuchen, wird auch falsch sein solange du dir die Schichtenmodelle nicht grundsätzlich verstanden hast..