Für viele von Ihnen klingt dies wie eine lächerliche Frage, aber ich frage , weil ich wenig oder gar keine Erfahrung mit ASP.Net Webforms habe - ich bin direkt zu ASP.Net MVC übergegangen .
Ich arbeite derzeit an einem Projekt, bei dem wir uns auf .NET 2.0 und Visual Studio 2005 beschränken.
Ich mochte die saubere Trennung von Bedenken bei der Arbeit mit ASP.Net MVC und suche etwas, um Webformulare weniger unerträglich zu machen. Gibt es empfohlene Muster oder Vorgehensweisen für Benutzer, die asp.net MVC bevorzugen, aber auf .NET 2.0 und Visual Studio 2005 nicht weiterkommen?
asp.net-mvc
minderwertig
quelle
quelle
Antworten:
Ich würde Model View Presenter (MVP) empfehlen. Wir haben dies in einer kürzlich veröffentlichten WebForms-App verwendet. Dadurch haben wir die Testbarkeit verbessert und die Trennung von Bedenken erzwungen.
http://msdn.microsoft.com/en-us/magazine/cc188690.aspx ist ein großartiger Artikel von Jean Paul Boodhoo über dieses Muster. Der Code-Download ist auch gut. Möglicherweise benötigen Sie keine DTOs und Schnittstellen für DTOs.
Ein weiterer guter Artikel ist dieser auf codeproject.com: http://www.codeproject.com/KB/architecture/ModelViewPresenter.aspx
Bearbeiten: Es gibt auch ein Framework namens WebForms MVP, aber ich weiß nicht viel darüber.
quelle
Ich würde Ihnen empfehlen, den Seitenlebenszyklus von .net 2.0 zu verstehen
Diese Videos sind vielleicht einen Besuch wert, obwohl nicht alle kostenlos sind, aber zumindest ist dies ein guter Anfang für Sie .... Die Sache ist, dass Sie dadurch eine Vorstellung davon bekommen, was Sie später weiter erforschen können.
quelle
Wie Sie vielleicht bereits festgestellt haben, dass Sie einige Dinge, die Sie mit ASP.NET MVC gelernt haben, verlernen müssen (übrigens - das gleiche passiert, wenn eine ASP.NET-Person zum Erlernen von ASP.NET MVC aufbricht). Sie können MVC-Muster weiterhin in ASP.NET implementieren, aber die Trennung von Ansicht und Modell ist in ASP.NET aufgrund der Eventing- / Page-Post-Back-Architektur sehr verschwommen.
Meiner Meinung nach bezieht sich der größte Teil Ihres neuen Lernens auf den Seitenlebenszyklus und Eventing & Controls. Die üblichen Session-, Cache-, ViewState- und DB-Interaktionen bleiben unverändert.
HTH ...
quelle
Checkout- Front-Controller- Muster und Implementierung des Front-Controllers in Asp.Net. Tun Sie diese Dinge nur, wenn Ihr Projekt eine gute Größe haben wird. Wenn Sie dies für ein kleines Projekt tun, ist der ROI nicht gerechtfertigt.
In einem kleinen Projekt können Sie versuchen, einige Richtlinien festzulegen. Zum Beispiel - Keine Geschäftslogik, keine Sitzungsverwendung usw. im Code dahinter.
Finden Sie heraus, was in Ihren Fall am besten passt. Halten Sie auf jeden Fall die Versuchung, über Engineering zu tun.
quelle
In den dunklen Tagen von .NET 1.1 habe ich (wie jeder andere auch) eine Art MVC-System für eine solche Anwendung erstellt.
Eine Seite wurde erstellt, um eine Art "gefälschter" Meister zu sein. Dies hatte einige Klempnerarbeiten, um Menüs, Skripte, Stile usw. anzuzeigen.
Die "Ansichten" waren einzelne Benutzersteuerelemente.
Zu jeder Ansicht gab es eine Tabelle mit Informationen. Beispielsweise würde "Produkt"
~/Controls/Product.ascx
in einen Platzhalter geladen . Die Tabelle hatte auch ein Feld, das den Typnamen der Modellklasse enthielt (als ob). Jedes Modell hat eine bekannte Schnittstelle implementiert. Diese Klasse wurde mit instantiiertActivator.CreateInstance()
und zur Initialisierung aufgerufen und dann an das Steuerelement selbst übergeben (Invertierung des Steuerelements?). Das Steuerelement rief dann verschiedene Methoden auf, um Datensätze oder ähnliches abzurufen. Die Schnittstelle selbst wurde auf die üblichen CRUD-Methoden (Read / Write / List / Delete) normiert. Darunter befand sich auch eine DAL / ORM-Schicht.Es war nicht schön, aber es hat gut funktioniert. Es war leicht zu testen und zu entwickeln, und die meisten Entwickler, die an Bord kamen, würden sich ziemlich schnell durchsetzen. Vor allem war es relativ einfach zu erstellen.
quelle