Przejdź do zawartości

ASP.NET MVC

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez 156.17.4.250 (dyskusja) o 13:26, 28 maj 2013. Może się ona znacząco różnić od aktualnej wersji.

Szablon:Software infobox ASP.NET MVCplatforma aplikacyjna do budowy aplikacji internetowych opartych na wzorcu Model-View-Controller (MVC) oparta na technologii ASP.NET. Wzorzec architektoniczny MVC oraz jego modyfikacje są powszechnie wykorzystywane w wielu innych popularnych platformach aplikacyjnych (nie tylko do budowy aplikacji internetowych), takich jak: Spring Framework, Ruby on Rails, Django, ale także Silverlight, Windows Presentation Foundation (WPF), czy Cocoa.

Główną zaletą zastosowania tego wzorca projektowego jest przede wszystkim lepsza separacja warstw aplikacji (np. prezentacji i logiki biznesowej) kosztem wprowadzenia dodatkowej złożoności w architekturze aplikacji. Aplikacje zbudowane przy użyciu tego wzorca są również zazwyczaj łatwiejsze do rozbudowy i utrzymywania oraz bardziej przyjazne w testowaniu przy użyciu testów jednostkowych i podejścia Test-driven Development (TDD).

Model reprezentuje stan aplikacji będący zazwyczaj odzwierciadleniem wybranej części problematyki tworzonego rozwiązania. Często wykorzystuje się tutaj podejście o nazwie Domain-Driven Design (DDD), kładące nacisk na to, by zdefiniowane w modelu klasy jak najlepiej odzwierciedlały rzeczywistość, chociaż zdarza się, że model jest niemal pełną reprezentacją struktury tabel w bazie danych.

Kontroler obsługuje interakcje oraz zmiany stanu modelu i przekazuje te informacje do warstwy prezentacji aplikacji, czyli widoku. Widok natomiast pobiera informacje przekazywane przez kontroler i uaktualnia odpowiednio interfejs użytkownika.

Do najważniejszych cech platformy aplikacyjnej ASP.NET MVC należy:

  • Wykorzystanie silnika ASP.NET pozwalającego na wykorzystanie wielu komponentów infrastrukturalnych oferowanych przez tę platformę, takich jak mechanizmy zarządzania stanem aplikacji, mechanizmy uwierzytelniania i autoryzacji, profile, cache, health monitoring itd.
  • Model programistyczny (API) platformy jest mocno oparty na interfejsach, pozwalając na łatwą rozbudowę, dorabianie i testowanie poszczególnych komponentów (obejmuje to również wsparcie dla podejścia TDD).
  • Elastyczny mechanizm mapowania adresów Uniform Resource Locator pozwalający na łatwą budowę aplikacji według wzorca Representational State Transfer (REST), wykorzystujących czytelną dla użytkowników strukturę adresów URL. Mechanizm ten jest również bardziej przyjazny silnikom wyszukiwarek internetowych Search Optimization Engine (SEO).

Implementacja platformy aplikacyjnej ASP.NET MVC powstaje przy sporym współudziale społeczności i dystrybuowana jest na licencji Microsoft Public License (MS-PL).

Historia wersji

Data wydania Wersja
10 December 2007 ASP.NET MVC CTP
13 March 2009 ASP.NET MVC 1.0[1]
10 March 2010 ASP.NET MVC 2.0[2]
13 January 2011 ASP.NET MVC 3.0[3]

Silniki widoku

Podstawowym silnikiem widoku stosowanym na platformie ASP.NET MVC jest stosowany również w technologii ASP.NET silnik WebForms. W czasie rozwoju platformy powstało jednak wiele innych. Do najbardziej popularnych należą:

  • StringTemplate View Engine będący napisaną w technologii.NET implementacją popularnego projektu stworzonego w języku Java.
  • Spark będący częścią bibliotek Castle Project MonoRail.
  • NDjango – port popularnego silnika Django, napisany w języku F# i oferującego pełną integrację z Visual Studio.
  • Razor – stosunkowo nowy silnik widoku stworzony przez firmę Microsoft i pozwalający na łatwe generowanie kodu HTML w oparciu o podejście wykorzystujące szablony.
  • Projekt MVCContrib zawierający interfejsy pozwalające na wykorzystanie silników widoku takich jak: Brail, NDjango, NHaml, NVelocity, SharpTiles, StringTemplate, XSLT.

Zobacz też

Linki zewnętrzne

Bibliogriafia

  • Jon Galloway, Scott Hanselman, Phil Haack, and Scott Guthrie, Professional ASP.NET MVC 2, Wrox, 2010, ISBN 0-470-64318-8.
  • 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, Pro ASP.NET MVC 2 Framework, Second Edition, Apress, 2010, ISBN 1-4302-2886-5.
  • 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.