MVC Architektur und ASP.NET Seiten
-
Hallo,
angenommen ich will das Model-View-Controller Architekturmuster für eine ASP.NET Webpräsenz verwenden:
Model (Datenbank-Api, ...) und View (aspx Seiten) sind klar.
Aber zählen aspx.cs (für C#) Dateien stets zum Controller?In einfachen Fällen ist es klar: Wenn es nur statische WebControls (System.Web.UI.WebControls) gibt, und z.B. die Eingaben einer Textbox in die Datenbank übertragen werden. Dann rechne ich das ganz klar zu Controller-Schicht.
Aber was, wenn einige oder alle WebControls (z.B. in der Page_Load Methode der aspx.cs) dynamisch generiert werden, in der gleichen Programmdatei aber auch auf Button_Click-Events reagiert wird?
Das Rückschreiben in die Datenbank (nach Button-Click) spricht wie im statischen Fall für die Controller-Schicht. Die dynamische Generierung der WebControls würde ich eher zur View-Schicht zählen.
Habe ich am MVC-Konzept etwas falsch verstanden oder ist die Programmdatei in diesen Fällen nicht eindeutig zuzuordnen?
Im letzteren Fall: Wie reagiert man darauf? Ich könnte die Methoden gruppieren (im Controll- (rückschreiben) oder View- (dyn. generieren der Controls) Sinne) und in neue Klassen Kapseln. Und in aspx.cs nur noch Objekte anlegen und Methoden aufrufen. Bin ich damit wirklich näher an MVC?
Viele Grüße und Danke für die Mühe,
tawa
-
Du weißt, dass es ein MVC Framework für ASP.NET gibt?
-
Noodles schrieb:
Du weißt, dass es ein MVC Framework für ASP.NET gibt?
Naja, offensichtlich nicht, oder?
Und ebenso offensichtlich, ist das Projekt so weit fortgeschritten, dass dein Vorschlag nicht in Frage kommt.
Also hast Du auch etwas Konstruktives zu sagen, oder wolltest Du nur blödtrollen?Ich meine, wenn Du doch nichts zu meiner Frage zu sagen hast, lasse es doch einfach gut sein. Konkretes Problem, konkrete Anforderung, konkrete Frage, dumme Antwort: Verstanden?
-
Du könntest als Gedankenexperiment Dir mal vorstellen, die Anwendung in WinForms ebenfalls anbieten zu müssen: Welche Teile/Assemblies lassen sich wiederverwenden, welche sind UI-spezifisch und müssten erneut erstellt werden? Wenn Du jetzt die Wiederverwendung von bereits entwickelten Code als Hauptkriterium nimmst solltest Du doch wissen was wohin gehört. Ich denke dass es sinnvoll ist in den Code-Behind-Files nur UI-relevante Sachen und den Glue code zur Logik reinzupacken.
-
Hast dich bissle im Ton vergriffen Tawa, findest nicht?
Und ebenso offensichtlich, ist das Projekt so weit fortgeschritten, dass dein Vorschlag nicht in Frage kommt.
Wo ist das offensichtlich? Du schreibst lediglich das du MVC verwendet möchtest, nicht das eine bestehende umfangreiche Applikation angepasst werden soll. Von daher ist Noodles Nachfrage ob dir das MVC Framework für Asp.Net bekannt ist doch vollkommen okay und ich verstehe gar net warum du ihn so anfährst. Außerdem ist der Hinweis auf das Framework doch eine Möglichkeit für dich zu schauen wie das MVC Pattern dort umgesetzt wurde und von daher auch die Beantwortung deiner Frage.
-
Edit: Wieder gelöscht, dass ist es einfach nicht wert...