ASP.NET MVC
Das ASP.NET MVC Framework ist ein Web Application Framework, das das Model-View-Controller (MVC)-Muster implementiert.
Hintergrund
Basierend auf ASP.NET, bietet es Software-Entwicklern die Möglichkeit, eine Web-Anwendung als ein Zusammenspiel der drei Rollen: Model, View und Controller zu erstellen.
Ein Model repräsentiert den Zustand eines bestimmten Aspekts der Anwendung. Ein Controller handhabt Interaktionen und aktualisiert das Model, um eine Änderung im Status der Anwendung zu reflektieren und übergibt dann Informationen der View. Eine View nimmt notwendige Informationen vom Controller und erstellt eine Benutzeroberfläche, um diese Informationen anzuzeigen.
Im April 2009 wurde der ASP.NET MVC Quellcode unter der freigegebenen Microsoft Public License (MS-PL) veröffentlicht.
ASP.NET MVC-Framework ist ein einfaches, hoch überprüfbares Präsentationsframework, das mit vorhandenen ASP.NET-Features ausgestattet ist. Einige dieser integrierten Features sind Masterseiten und mitgliedschaftbasierte Authentifizierungen. Das MVC-Framework ist in der System.Web.Mvc Assembly definiert. Das ASP.NET MVC Framework fügt die Models, Views und Controllers mit Verbindungen zusammen, die auf Interfaces basieren, wodurch jede Komponente einfach unabhängig voneinander getestet werden kann.
Apache License 2.0 release
Im März 2012 kündigte Scott Guthrie in seinem Blog an, dass Microsoft einen Teil ihrer Web-Stack (einschließlich ASP.NET MVC, Razor und Web API) unter einer Open Source Lizenz ( Apache License 2.0 ) freigeben wird.
Guthrie schrieb, dass "dadurch ein offeneres Entwicklungsmodell ermöglicht wird, mit dem jeder in der Gemeinschaft in der Lage sein wird, sich einzubringen und Feedback auf Code checkins, Bug-Fixes, die Entwicklung neuer Funktionen und Produkte zu erstellen und zu testen, mit den aktuellsten Versionen des Quellcodes und der Tests". Der Quellcode befindet sich jetzt auf CodePlex. ASP.NET Web Forms wurden hier aus verschiedenen Gründen nicht berücksichtigt.
Versions-Historie
Date | Version |
---|---|
10. Dezember 2007 | ASP.NET MVC CTP |
13. März 2009 | ASP.NET MVC 1.0 |
16. Dezember 2009 | ASP.NET MVC 2 RC |
04. Februar 2010 | ASP.NET MVC 2 RC 2 |
10. März 2010 | ASP.NET MVC 2 |
06. Oktober 2010 | ASP.NET MVC 3 Beta |
09. November 2010 | ASP.NET MVC 3 RC |
10. Dezember 2010 | ASP.NET MVC 3 RC 2 |
13. Januar 2011 | ASP.NET MVC 3 |
20. September 2011 | ASP.NET MVC 4 Developer Preview |
15. Februar 2012 | ASP.NET MVC 4 Beta |
31. Mai 2012 | ASP.NET MVC 4 RC |
15. August 2012 | ASP.NET MVC 4 |
View Engines
Die View Engines, die im ASP.NET MVC 3 and MVC 4 Framework benutzt werden, sind Razor View Engine und die Web Forms view engine. Beide View Engines sind Teil des MVC 3 Frameworks. Standardmäßig benutzt die View Engine im MVC Framework Razor .cshtml und .vbhtml, oder Web Forms .aspx Seiten, um das Layout der Benutzeroberflächenseite zu erstellen, auf denen die Daten zusammengesetzt sind. Allerdings können auch andere View Engines verwendet werden.
Weitere View Engines:-
- The MVCContrib library contains 8 alternate view engines. Brail, NDjango, NHaml, NVelocity, !SharpTiles, Spark, !StringTemplate and XSLT.
- The StringTemplate View Engine utilizes a .NET port of the popular Java Templating engine, StringTemplate.
- Spark is a view engine for the ASP.NET MVC (and the Castle Project !MonoRail) frameworks.
- NDjango is a port of the popular Django templating engine to .NET. It is written in F# and comes with Visual Studio extension including full Intellisense support
- Naked Objects MVC - an implementation of the naked objects pattern using ASP.NET MVC
- Razor is a view-engine developed by Microsoft and released with MVC 3 that is optimized around HTML generation using a code-focused templating approach.
Siehe auch
- Model–view–controller
- Model View ViewModel
- Model–view–adapter
- Model–view–presenter
- Observer pattern
- Presentation–abstraction–control
- Hierarchical_model–view–controller
Weiterführende Literatur
- Jon Galloway, Phil Haack, Brad Wilson, and K. Scott Allen, Professional ASP.NET MVC 3, Wrox, 2011, ISBN 1-118-07658-3
- Jeffrey Palermo, Ben Scheirman, Jimmy Bogard, and Eric Hexter, ASP.NET MVC 2 in Action, Manning Publications, 2010, ISBN 1-935182-79-X
- Steven Sanderson, Adam Freeman, Pro ASP.NET MVC 3 Framework, Second Edition, Apress, 2011, ISBN 1-4302-3404-0
- Jonathan !McCracken, Test-Drive ASP.NET MVC, Pragmatic Bookshelf, 2010, ISBN 1-934356-53-0
- Stephen Walther, ASP.NET MVC Framework Unleashed, Sam's, 2009, ISBN 0-672-32998-0
Kommerzielle und nicht-kommerzielle Projekte
- ASP.NET MVC Project Awesome a rich set of helpers for building interactive Ajax-enabled Web applications.
- ASP.NET MVC SiteMap Provider !SiteMapProvider implementation for the ASP.NET MVC framework.
- ASP.NET MVC Controls Toolkit A complete set of server controls for ASP.NET MVC.
- jQuery ASP.NET MVC Controls A pack of ASP.NET MVC compatible controls based on jQuery and jqGrid
- Dev Magic Fake A Framework to TDD Test Driven Development and simulate the underline layers of the MVC projects without writing code
- ASP.NET MVC4 Project An Ongoing Project to Locate Blood Donors using Online Maps.
Einige Projekte
- EFMVC - ASP.NET MVC 3 and Entity Framework 4.1 Code First Demo web app using ASP.NET MVC 3 RTM, Razor, EF Code First and Autofac
- ProDinner - ASP.NET MVC Entity Framework 4 Code First DDD jQuery Sample App shows the usage of DDD, Entity Framework 4 code first and jQuery in ASP.NET MVC, it also has a multi-language UI (using resource files) and a very rich and responsive UI
- Mvc Music Store a sample store which sells albums online, demonstrating ASP.NET MVC's productivity features and data access via Entity Framework 4.
- NerdDinner shows the very basics of ASP.NET MVC also the usage of OpenID, Bing Maps, Twitter Integration etc.
- Bing Maps Application in ASP.NET MVC 4 A beginners tutorial on using Bing Mapping in ASP.NET, exploring MVC features to handle mobile and desktop views from a single application - MSDN Article.