Samouczek ASP.NET MVC dla początkujących: Co to jest, Architektura

Co to jest ASP.NET MVC?

ASP.NET MVC to platforma do tworzenia stron internetowych o otwartym kodzie źródłowym, stworzona przez Microsoft który zapewnia architekturę Model View Controller. ASP.net MVC oferuje alternatywę dla formularzy internetowych ASP.net do tworzenia aplikacji internetowych. Jest częścią platformy .Net do tworzenia, wdrażania i uruchamiania aplikacji internetowych. Możesz tworzyć aplikacje internetowe i witryny internetowe za pomocą HTML, CSS, jQuery, Javascript, itp.

Poznaj MVC dzięki temu samouczkowi ASP.NET MVC, który obejmuje wszystkie podstawowe koncepcje MVC dla początkujących:

Dlaczego ASP.net MVC?

Chociaż formularze internetowe okazały się bardzo skuteczne, Microsoft pomyślałem o stworzeniu ASP.net MVC. Głównym problemem związanym z formularzami webForms ASP.net jest wydajność.

W Aplikacja internetowaistnieją cztery główne aspekty definiujące wydajność:

  • Problemy z czasem reakcji
  • Problem testowania jednostkowego
  • Dostosowywanie HTML
  • Możliwość ponownego użycia klasy związanej z kodem

ASP.net MVC wyróżnia się powyższymi parametrami.

Historia wersji MVC

ASP.NETMVC1

  • Wydany 13 marca 2009 roku
  • Działa na platformie .NET 3.5
  • Visual Studio 2008
  • Architektura wzorca MVC z silnikiem WebForm
  • Główne funkcje obejmują HTML i Testów jednostkowych, Pomocnicy Ajax, Routing itp.

ASP.NETMVC2

  • Ta wersja została wydana 10 marca 2010 r
  • Działa na platformie .NET 3.5,4.0, XNUMX i nowszych Microsoft Visual Studio 2008
  • Dołącz funkcje takie jak pomocnicy z szablonami, pomocnicy Ul z automatycznym rusztowaniem i konfigurowalnymi szablonami
  • Obsługuje atrybuty DataAnnotations w celu zastosowania walidacji modelu po stronie klienta i serwera

ASP.NETMVC3

  • Został wydany 13 stycznia 2011 roku
  • Działa na platformie .NET 4.0, XNUMX i nowszych Microsoft visual Studio 2010
  • Korzystanie z NuGet do dostarczania oprogramowania i umożliwia zarządzanie zależnościami na platformie
  • Ulepsz Swój JavaObsługa skryptów z walidacją jQuery i powiązaniem JSON
  • Oferuje funkcje takie jak silnik widoku Razor; ulepszone atrybuty adnotacji danych do sprawdzania poprawności modelu zarówno po stronie klienta, jak i serwera

ASP.NETMVC4

  • Ta wersja została wydana w sierpniu 2012 roku
  • Działa na platformie .NET 4.0, 4.5 oraz w środowisku Visual Studio 2010 i Visual Studio 2012
  • Ulepszenia domyślnych szablonów projektów
  • Oferuje funkcje takie jak szablon projektu mobilnego wykorzystujący jQuery Mobile, obsługę zadań dla kontrolerów asynchronicznych, pakietowanie, minifikację itp.

ASP.NETMVC5

  • Wydany 17 października 2013 r.
  • Działa w środowisku .NET 4.5, 4.5.1 oraz z programem Visual Studio 2012 i Visual OneASP.NET
  • Obsługuje routing atrybutów w MVC

Cechy MVC

  • Łatwe i bezproblemowe testowanie
  • Pełna kontrola nad Twoim kodem HTML, JavaSkrypt i adresy URL
  • Wykorzystaj istniejącą dźwignię ASP.Net Udogodnienia
  • Nowa opcja prezentacji dla ASP.Net
  • Prostszy sposób programowania Asp.Net
  • Wyraźne oddzielenie logiki: Model, Widok, Kontroler
  • Rozwój oparty na testach
  • Wsparcie rozwoju równoległego

O czym należy pamiętać tworząc aplikację MVC

Oto kilka przydatnych rzeczy w tym samouczku ASP.NET MVC, o których musisz pamiętać podczas tworzenia aplikacji MVC:

  • Należy pamiętać, że ASP .net MVC NIE zastępuje aplikacji opartych na formularzach internetowych ASP.Net
  • Podejście do tworzenia aplikacji MVC należy wybrać w oparciu o wymagania aplikacji i funkcje udostępniane przez ASP .net MVC w celu dostosowania do konkretnych potrzeb programistycznych.
  • Proces tworzenia aplikacji w ASP .NET MVC jest bardziej złożony w porównaniu z aplikacjami bazującymi na formularzach internetowych.
  • Łatwość konserwacji aplikacji jest zawsze większa dzięki oddzieleniu zadań aplikacji.
Wzorzec architektoniczny MVC
Wzorzec architektoniczny MVC

MVC to wzorzec architektury oprogramowania, który podąża za metodą rozdzielenia zagadnień. W tym modelu aplikacje .Net są podzielone na trzy połączone ze sobą części, które nazywane są Model, View i Controller.

Celem wzorca MVC jest to, że każdą z tych części można opracować, przetestować we względnej izolacji, a także połączyć w celu stworzenia bardzo solidnej aplikacji.

Zobaczmy je wszystkie szczegółowo:

modele

Obiekty modelu to części aplikacji, które implementują logikę aplikacji domena danych. Pobiera i przechowuje stan modelu w bazie danych. Na przykład obiekt produktu może pobierać informacje z pliku baza danych, wykonaj na nim operację. Następnie zapisz informacje z powrotem do tabeli produktów na serwerze SQL.

odwiedzajacy

Widoki to komponenty używane do wyświetlania interfejsu użytkownika aplikacji (UI), zwanego także modelem widoku w MVC. Wyświetla aplikację .Net MVC utworzoną na podstawie danych modelu.

Typowym przykładem jest widok edycji tabeli Item. Wyświetla pola tekstowe, wyskakujące okienka i pola wyboru na podstawie bieżącego stanu produktów i obiektów.

kontroler

Kontrolery obsługują interakcję użytkownika, pracują z modelem i wybierają widok, aby wyrenderować ten wyświetlacz Ul. W aplikacji .Net MVC widok wyświetla tylko informacje, kontroler zarządza danymi wejściowymi i interakcjami użytkownika oraz reaguje na nie, korzystając z filtrów akcji w MVC.

Na przykład kontroler zarządza wartościami ciągu zapytania i przekazuje te wartości do modelu.

Formularze internetowe a MVC

Parametry WebFromy MVC
Model Formularze sieci Web Asp.Net są zgodne z modelem programowania sterowanym zdarzeniami. Asp.Net MVC korzysta z modelu programowania opartego na wzorcu MVC.
Używany od Istnieje od 2002 roku Po raz pierwszy został wydany w 2009 roku
Obsługa stanu widoku Formularz sieciowy Asp.Net obsługuje stan widoku do zarządzania stanem po stronie klienta. .Net MVC nie obsługuje stanu widoku.
Typ adresu URL Formularz sieci Web Asp.Net zawiera adresy URL oparte na plikach. Oznacza to, że nazwa pliku istnieje w adresach URL i muszą one istnieć fizycznie. Asp.Net MVC ma adresy URL oparte na trasach, co oznacza adresy URL przekierowywane do kontrolerów i akcji.
Składnia Asp.Net MVC jest zgodny ze składnią formularzy internetowych. Asp.Net MVC stosuje konfigurowalną składnię.
Typ widoku Formularz internetowy, widoki są ściśle powiązane z kodem (ASPX-CS), tj. logiką. MVC, widoki i logika są zawsze przechowywane osobno.
Spójny wygląd i styl Posiada strony wzorcowe zapewniające spójny wygląd. Asp.Net MVC ma układy zapewniające spójny wygląd.
Ponowne użycie kodu Formularz internetowy oferuje kontrolę użytkownika umożliwiającą ponowne wykorzystanie kodu. Asp.Net MVC oferuje częściowe widoki umożliwiające ponowne wykorzystanie kodu.
Kontrola HTML Less kontrolę nad renderowanym HTML. Pełna kontrola nad HTML
Zarządzanie państwowe Automatyczne zarządzanie stanem kontroli. Ręczne zarządzanie stanem.
Wsparcie TDD Wymagany słaby lub niestandardowy TDD. Zachęca i obejmuje TDD!

Zalety ASP.NET MVC

  • Domyślnie aplikacje łatwe w utrzymaniu
  • Pozwala na wymianę dowolnego komponentu aplikacji.
  • Lepsze wsparcie dla rozwoju opartego na testach
  • Złożonymi aplikacjami można łatwo zarządzać dzięki podziałowi na Model, Widok i Kontrolery.
  • Oferuje solidny mechanizm routingu z wzorcem kontrolera przedniego
  • Oferuje lepszą kontrolę nad zachowaniem aplikacji dzięki eliminacji stanu widoku i formularzy serwerowych
  • Aplikacje .Net MVC są obsługiwane przez duże zespoły programistów i projektantów stron internetowych
  • Zapewnia większą kontrolę nad zachowaniem aplikacji. Wykorzystuje również zoptymalizowaną przepustowość dla żądań kierowanych do serwera

Wady ASP.NET MVC

  • Nie można zobaczyć podglądu strony projektu, takiej jak strona .aspx.
  • Musisz za każdym razem uruchamiać program, aby zobaczyć jego rzeczywisty projekt.
  • Zrozumienie przepływu aplikacji może być trudne
  • Jest to dość skomplikowane we wdrożeniu, więc nie jest idealną opcją dla małych zastosowań
  • Trudno jest nauczyć się MVC dla ASP.NET, ponieważ wymaga doskonałego zrozumienia wzorca MVC

Najlepsze praktyki podczas korzystania z ASP.Net MVC

  • W przypadku dużego i złożonego kodu utwórz osobny zestaw dla MODELU, aby uniknąć niepożądanych sytuacji.
  • Model powinien obejmować logikę biznesową, utrzymanie sesji, część sprawdzającą i część logiki danych.
  • VIEW nie powinien zawierać żadnej logiki biznesowej ani obsługi sesji, użyj ViewData, aby uzyskać dostęp do danych w View
  • Logika biznesowa i dostęp do danych nigdy nie powinny mieć miejsca w ControllerViewData
  • Kontroler powinien odpowiadać jedynie za przygotowanie i zwrócenie widoku, wywołanie modelu, przekierowanie do akcji itp.
  • Usuń kod demonstracyjny z aplikacji po jej utworzeniu. Usuń AccountController
  • Do tworzenia znaczników HTML na podstawie widoku używaj tylko określonego silnika widoku, ponieważ jest to połączenie HTML i kodu programowania.

Podsumowanie

  • ASP.NET MVC to platforma do tworzenia stron internetowych o otwartym kodzie źródłowym Microsoft to zapewnia Architektura Model View Controller.
  • ASP.net MVC oferuje alternatywę dla formularzy internetowych ASP.net do tworzenia aplikacji internetowych.
  • Głównym problemem związanym z formularzami webForms ASP.net jest wydajność.
  • ASP.net MVC oferuje łatwą i bezproblemową testowalność z pełną kontrolą nad kodem HTML i adresami URL.
  • Należy pamiętać, że ASP .net MVC NIE zastępuje aplikacji opartych na formularzach internetowych ASP.Net.
  • Podejście do tworzenia aplikacji MVC lub cyklu życia ASP.NET MVC należy wybrać na podstawie wymagań aplikacji i funkcji udostępnianych przez ASP .net MVC w celu dostosowania do konkretnych potrzeb programistycznych.
  • ASP.NET MVC domyślnie oferuje aplikacje łatwe w utrzymaniu.
  • W ASP.net nie można zobaczyć podglądu strony projektu, takiego jak strona .aspx.
  • Zgodnie z najlepszą praktyką model powinien obejmować logikę biznesową, utrzymanie sesji, część dotyczącą sprawdzania poprawności i część logiki danych.

Podsumuj ten post następująco: