Εκμάθηση ASP.NET MVC για αρχάριους: Τι είναι, Archiδομή

⚡ Έξυπνη Σύνοψη

Το ASP.NET MVC είναι το λογισμικό ανοιχτού κώδικα. Microsoft Ένα πλαίσιο που διαχωρίζει μια διαδικτυακή εφαρμογή σε επίπεδα Μοντέλου, Προβολής και Ελεγκτή, δίνοντας στους προγραμματιστές πλήρη έλεγχο της HTML, ελέγξιμο κώδικα, καθαρή δρομολόγηση και μια ελαφριά εναλλακτική λύση στις κλασικές φόρμες ιστού.

  • ️ Archiδομή: Το Model διατηρεί δεδομένα τομέα, η View αποδίδει το UI με το Razor και ο Controller μεσολαβεί σε κάθε αίτημα μεταξύ των δύο.
  • ⚡ Γιατί MVC: Διορθώνει το πρόβλημα ViewState και την επιβάρυνση απόδοσης των φορμών ιστού και επιτρέπει την καθαρή δρομολόγηση καθώς και την ανάπτυξη βάσει δοκιμών.
  • 🔀 Δρομολόγηση: Βάσει διαδρομής URLΤο s αντιστοιχίζει τα εισερχόμενα αιτήματα σε ενέργειες ελεγκτή, αντικαθιστώντας το αρχείο .aspx που βασίζεται σε αρχεία URLs με διαδρομές φιλικές προς το SEO.
  • 🧪 Δυνατότητα δοκιμής: Ο Ελεγκτής και το Μοντέλο μπορούν να ελεγχθούν σε μονάδες μεμονωμένα, επειδή οι Προβολές δεν έχουν επιχειρηματική λογική.
  • ️ Σύγκριση φορμών ιστού: Οι φόρμες Web χρησιμοποιούν στοιχεία ελέγχου διακομιστή που βασίζονται σε συμβάντα. Το MVC χρησιμοποιεί ενέργειες που βασίζονται σε αιτήματα με χειροκίνητη διαχείριση κατάστασης.
  • ️ καλύτερη πρακτική: Διατηρήστε την επιχειρηματική λογική στο μοντέλο, διατηρήστε τους ελεγκτές περιορισμένους και χρησιμοποιήστε μερικές προβολές ή διατάξεις για να επαναχρησιμοποιήσετε τη σήμανση.

Εκμάθηση ASP.NET MVC

Τι είναι το ASP.NET MVC;

MVC ASP.NET είναι ένα πλαίσιο ανάπτυξης ιστού ανοιχτού κώδικα από Microsoft που παρέχει μια αρχιτεκτονική Model View Controller. Το ASP.NET MVC προσφέρει μια εναλλακτική λύση στις φόρμες ιστού ASP.NET για τη δημιουργία εφαρμογών ιστού. Είναι μέρος της πλατφόρμας .NET για τη δημιουργία, την ανάπτυξη και την εκτέλεση εφαρμογών ιστού. Μπορείτε να αναπτύξετε εφαρμογές ιστού και ιστότοπους με τη βοήθεια HTML, CSS, jQuery, JavaΣενάριο κ.λπ.

Μάθετε MVC με αυτό το σεμινάριο ASP.NET MVC που καλύπτει όλες τις βασικές έννοιες του MVC για αρχάριους:

Γιατί ASP.NET MVC;

Αν και οι φόρμες Ιστού ήταν πολύ επιτυχημένες, Microsoft σκέψη για ανάπτυξηping ASP.NET MVC. Το κύριο πρόβλημα με τις φόρμες web ASP.NET είναι η απόδοση.

Σε εφαρμογή ιστού, υπάρχουν τέσσερις κύριες πτυχές που καθορίζουν την απόδοση:

  • Ζητήματα χρόνου απόκρισης
  • Πρόβλημα Δοκιμής Μονάδων
  • Προσαρμογή HTML
  • Επαναχρησιμοποίηση της κλάσης κώδικα πίσω

Το ASP.NET MVC υπερέχει στις παραπάνω παραμέτρους.

Ιστορικό εκδόσεων του MVC

ASP.NET MVC1

  • Κυκλοφόρησε στις 13 Μαρτίου 2009
  • Τρέχει σε .NET 3.5
  • Visual Studio 2008
  • Αρχιτεκτονική MVC Pattern με WebForm Engine
  • Τα κύρια χαρακτηριστικά περιλαμβάνουν Html & Δοκιμή μονάδας, Ajax Helpers, Routing κ.λπ.

ASP.NET MVC2

  • Αυτή η έκδοση κυκλοφόρησε στις 10 Μαρτίου 2010
  • Λειτουργεί σε .NET 3.5, 4.0 και με Microsoft Visual Studio 2008
  • Περιλαμβάνει λειτουργίες όπως βοηθούς με πρότυπα, βοηθούς UI με αυτόματη δημιουργία σκαλωσιάς και προσαρμόσιμα πρότυπα
  • Υποστηρίζει τα DataAnnotations Attributes για την εφαρμογή επικύρωσης μοντέλου στις πλευρές του πελάτη και του διακομιστή

ASP.NET MVC3

  • Κυκλοφόρησε στις 13 Ιανουαρίου 2011
  • Λειτουργεί σε .NET 4.0 και με Microsoft Visual Studio 2010
  • Χρήση του ΝuGet για την παράδοση λογισμικού και σας επιτρέπει να διαχειρίζεστε εξαρτήσεις σε όλη την πλατφόρμα
  • Καλύτερα JavaΥποστήριξη σεναρίων με jQuery Validation και σύνδεση JSON
  • Προσφέρει λειτουργίες όπως η μηχανή προβολής Razor και βελτιωμένα χαρακτηριστικά σχολιασμών δεδομένων για την επικύρωση μοντέλου τόσο από την πλευρά του πελάτη όσο και από την πλευρά του διακομιστή.

ASP.NET MVC4

  • Αυτή η έκδοση κυκλοφόρησε τον Αύγουστο του 2012
  • Τρέχει σε .NET 4.0, 4.5 και με Visual Studio 2010 & Visual Studio 2012
  • Βελτιώσεις στα προεπιλεγμένα πρότυπα έργων
  • Προσφέρει λειτουργίες όπως πρότυπο έργου για κινητά χρησιμοποιώντας jQuery Mobile, υποστήριξη εργασιών για ασύγχρονους ελεγκτές, ομαδοποίηση, ελαχιστοποίηση κ.λπ.

ASP.NET MVC5

  • Κυκλοφόρησε στις 17 Οκτωβρίου 2013
  • Λειτουργεί σε .NET 4.5, 4.5.1 και με Visual Studio 2012 & Visual Studio 2013
  • Υποστηρίζει τη δρομολόγηση χαρακτηριστικών στο MVC

Χαρακτηριστικά του MVC

  • Εύκολη και χωρίς τριβές δοκιμασιμότητα
  • Πλήρης έλεγχος του HTML σας, JavaΣενάριο, και URLs
  • Μόχλευση που υπάρχει ASP.NET Χαρακτηριστικά
  • Μια νέα επιλογή παρουσίασης για το ASP.NET
  • Ένας απλούστερος τρόπος προγραμματισμού ASP.NET
  • Σαφής διαχωρισμός λογικής: Μοντέλο, Προβολή, Ελεγκτής
  • Δοκιμαστική Ανάπτυξη
  • Υποστήριξη για παράλληλη ανάπτυξη

Πράγματα που πρέπει να θυμάστε κατά τη δημιουργία της εφαρμογής MVC

Ακολουθούν μερικά χρήσιμα πράγματα σε αυτό το σεμινάριο ASP.NET MVC που πρέπει να θυμάστε για τη δημιουργία εφαρμογής MVC:

  • Πρέπει να θυμάστε ότι το ASP.NET MVC ΔΕΝ αντικαθιστά τις εφαρμογές που βασίζονται σε φόρμες ιστού ASP.NET.
  • Η προσέγγιση ανάπτυξης εφαρμογών MVC πρέπει να αποφασιστεί με βάση τις απαιτήσεις της εφαρμογής και τα χαρακτηριστικά που παρέχονται από το ASP.NET MVC, ώστε να ανταποκρίνεται στις συγκεκριμένες ανάγκες ανάπτυξης.
  • Η διαδικασία ανάπτυξης εφαρμογών με ASP.NET MVC είναι πιο περίπλοκη σε σύγκριση με εφαρμογές που βασίζονται σε διαδικτυακές φόρμες.
  • Η δυνατότητα συντήρησης της εφαρμογής είναι πάντα υψηλότερη με τον διαχωρισμό των εργασιών εφαρμογής.

Αρχιτεκτονικό μοτίβο MVC

Αρχιτεκτονικό μοτίβο MVC

Το MVC είναι ένα μοτίβο αρχιτεκτονικής λογισμικού που ακολουθεί τη μέθοδο διαχωρισμού των ανησυχιών. Σε αυτό το μοντέλο, οι εφαρμογές .NET χωρίζονται σε τρία διασυνδεδεμένα μέρη που ονομάζονται Μοντέλο, Προβολή και Ελεγκτής.

Ο στόχος του μοτίβου MVC είναι ότι καθένα από αυτά τα μέρη μπορεί να αναπτυχθεί, να δοκιμαστεί σε σχετική απομόνωση και επίσης να συνδυαστεί για να δημιουργήσει μια πολύ ισχυρή εφαρμογή.

Ας τα δούμε όλα αναλυτικά:

Μοντέλα

Τα αντικείμενα μοντέλου είναι μέρη της εφαρμογής που υλοποιούν τη λογική για την εφαρμογή τομέα δεδομένων. Ανακτά και αποθηκεύει την κατάσταση του μοντέλου σε μια βάση δεδομένων. Για παράδειγμα, το αντικείμενο προϊόντος μπορεί να ανακτήσει πληροφορίες από το α βάσεις δεδομένων, χειρουργήστε το. Στη συνέχεια, γράψτε τις πληροφορίες πίσω στον πίνακα προϊόντων στον διακομιστή SQL.

Προβολές

Οι προβολές (views) είναι τα στοιχεία που χρησιμοποιούνται για την εμφάνιση της διεπαφής χρήστη (UI) της εφαρμογής, η οποία ονομάζεται επίσης viewmodel στο MVC. Εμφανίζει την εφαρμογή .NET MVC που δημιουργείται από τα δεδομένα του μοντέλου.

Το συνηθισμένο παράδειγμα θα ήταν μια προβολή επεξεργασίας ενός πίνακα Στοιχείων. Εμφανίζει πλαίσια κειμένου, αναδυόμενα παράθυρα και ελέγχει πλαίσια με βάση την τρέχουσα κατάσταση προϊόντων και αντικειμένων.

ελεγκτής

Οι ελεγκτές χειρίζονται την αλληλεπίδραση του χρήστη, συνεργάζονται με το μοντέλο και επιλέγουν μια προβολή για την απόδοση του περιβάλλοντος εργασίας χρήστη. Σε μια εφαρμογή .NET MVC, η προβολή εμφανίζει μόνο πληροφορίες, ο ελεγκτής διαχειρίζεται και ανταποκρίνεται στην είσοδο και την αλληλεπίδραση του χρήστη χρησιμοποιώντας φίλτρα ενεργειών στο MVC.

Για παράδειγμα, ο ελεγκτής διαχειρίζεται τιμές query-string και μεταβιβάζει αυτές τις τιμές στο μοντέλο.

Φόρμες Ιστού έναντι MVC

Παράμετροι Φόρμες Ιστού MVC
Μοντέλο Οι φόρμες ιστού ASP.NET ακολουθούν ένα μοντέλο ανάπτυξης που βασίζεται σε συμβάντα. Το ASP.NET MVC χρησιμοποιεί μοντέλο ανάπτυξης που βασίζεται σε πρότυπα MVC.
Χρησιμοποιείται από Υπάρχει από το 2002 Κυκλοφόρησε για πρώτη φορά το 2009
Υποστήριξη για κατάσταση προβολής Η φόρμα Web του ASP.NET υποστηρίζει την προβολή κατάστασης για τη διαχείριση κατάστασης στην πλευρά του πελάτη. Το .NET MVC δεν υποστηρίζει την κατάσταση προβολής.
URL τύπος Η φόρμα Web του ASP.NET βασίζεται σε αρχεία. URLσ. Σημαίνει ότι το όνομα αρχείου υπάρχει στο URLs και πρέπει να υπάρχουν φυσικά. Το ASP.NET MVC βασίζεται σε διαδρομές URLαυτό σημαίνει URLs τα οποία ανακατευθύνονται σε ελεγκτές και ενέργειες.
Σύνταξη Οι φόρμες ιστού ASP.NET ακολουθούν τη σύνταξη των φορμών ιστού. Το ASP.NET MVC ακολουθεί την προσαρμόσιμη σύνταξη.
Τύπος προβολής Φόρμα Ιστού, οι προβολές είναι στενά συνδεδεμένες με Code πίσω από (ASPX-CS), δηλαδή, λογική. Το MVC, οι προβολές και η λογική διατηρούνται πάντα χωριστά.
Ομοιόμορφη εμφάνιση και αίσθηση Διαθέτει κύριες σελίδες για συνεπή εμφάνιση. Το ASP.NET MVC διαθέτει διατάξεις για ομοιόμορφη εμφάνιση.
Code Επαναχρησιμοποίηση Η Φόρμα Ιστού προσφέρει στοιχεία ελέγχου χρήστη για επαναχρησιμοποίηση κώδικα. Το ASP.NET MVC έχει προσφέρει μερικές προβολές για επαναχρησιμοποίηση κώδικα.
Έλεγχος για HTML Less έλεγχος του αποδοθέντος HTML. Πλήρης έλεγχος του HTML
Κρατική διαχείριση Αυτόματη διαχείριση κατάστασης των ελέγχων. Χειροκίνητη διαχείριση κατάστασης.
Υποστήριξη TDD Απαιτείται αδύναμο ή προσαρμοσμένο TDD. Ενθαρρύνει και περιλαμβάνει την TDD.

Πλεονεκτήματα του ASP.NET MVC

  • Εφαρμογές με υψηλή δυνατότητα συντήρησης από προεπιλογή
  • Σας επιτρέπει να αντικαταστήσετε οποιοδήποτε στοιχείο της εφαρμογής.
  • Καλύτερη υποστήριξη για Test Driven Development
  • Η διαχείριση των σύνθετων εφαρμογών είναι εύκολη λόγω των τμημάτων Model, View και Controllers.
  • Προσφέρει στιβαρό μηχανισμό δρομολόγησης με μοτίβο μπροστινού ελεγκτή
  • Προσφέρει καλύτερο έλεγχο της συμπεριφοράς της εφαρμογής με την εξάλειψη της κατάστασης προβολής και των φορμών που βασίζονται σε διακομιστή
  • Οι εφαρμογές .NET MVC υποστηρίζονται από μεγάλες ομάδες προγραμματιστών και σχεδιαστών ιστοσελίδων.
  • Προσφέρει περισσότερο έλεγχο στις συμπεριφορές της εφαρμογής. Χρησιμοποιεί επίσης ένα βελτιστοποιημένο εύρος ζώνης για αιτήματα που γίνονται στον διακομιστή

Μειονεκτήματα του ASP.NET MVC

  • Δεν μπορείτε να δείτε την προεπισκόπηση της σελίδας σχεδίασης όπως στη σελίδα .aspx.
  • Πρέπει να εκτελείτε το πρόγραμμα κάθε φορά για να δείτε την πραγματική του σχεδίαση.
  • Η κατανόηση της ροής της εφαρμογής μπορεί να είναι δύσκολη
  • Είναι αρκετά περίπλοκο στην εφαρμογή του, επομένως δεν είναι ιδανική επιλογή για εφαρμογές μικρού επιπέδου
  • Είναι δύσκολο να μάθετε MVC για ASP.NET, καθώς απαιτεί μεγάλη κατανόηση του μοτίβου MVC

τα καλυτερα εξασκούνται κατά τη χρήση του ASP.NET MVC

  • Δημιουργήστε μια ξεχωριστή συναρμολόγηση για το MODEL σε περίπτωση μεγάλου και πολύπλοκου κώδικα για να αποφύγετε οποιαδήποτε ανεπιθύμητη κατάσταση
  • Το μοντέλο πρέπει να περιλαμβάνει επιχειρηματική λογική, συντήρηση συνεδρίας, τμήμα επικύρωσης και τμήμα λογικής δεδομένων.
  • Το VIEW δεν πρέπει να περιέχει καμία επιχειρηματική λογική και συντήρηση περιόδου σύνδεσης, χρησιμοποιήστε το ViewData για πρόσβαση σε δεδομένα στο View
  • Η επιχειρηματική λογική και η πρόσβαση σε δεδομένα δεν πρέπει ποτέ να εμφανίζονται στον ελεγκτή.
  • Ο ελεγκτής θα πρέπει να είναι υπεύθυνος μόνο για την προετοιμασία και την επιστροφή μιας προβολής, την κλήση μοντέλου, την ανακατεύθυνση σε δράση κ.λπ.
  • Διαγραφή κώδικα επίδειξης από την εφαρμογή κατά τη δημιουργία της (Διαγραφή AccountController)
  • Χρησιμοποιήστε μόνο συγκεκριμένη μηχανή προβολής για να δημιουργήσετε σήμανση HTML από την προβολή σας, καθώς είναι ο συνδυασμός HTML και κώδικα προγραμματισμού.

Συχνές Ερωτήσεις

Ναι. Το GitHub Copilot μπορεί να δημιουργήσει μια κλάση Controller με μεθόδους δράσης, χαρακτηριστικά διαδρομής και αντίστοιχες προβολές Razor. RevΕλέγξτε τον δημιουργημένο κώδικα για σωστή σύνδεση και εξουσιοδότηση μοντέλου πριν τον προσθέσετε στο έργο.

Οι βοηθοί μηχανικής μάθησης μπορούν να αντιστοιχίσουν σελίδες φορμών ιστού σε ελεγκτές και προβολές, να μεταφράσουν τον κώδικα που υπάρχει πίσω σε μεθόδους δράσης και να επισημάνουν τη χρήση του ViewState. Ο προγραμματιστής εξακολουθεί να επικυρώνει τη δρομολόγηση, τη σύνδεση μοντέλων και κάθε μετεγκατεστημένο επιχειρηματικό κανόνα.

Το ViewData είναι ένα λεξικό αντικειμένων που έχουν κλειδωθεί από συμβολοσειρά και επιβιώνουν μετά από ένα αίτημα. Το ViewBag είναι ένα δυναμικό περιτύλιγμα πάνω από το ViewData. Το TempData χρησιμοποιεί την κατάσταση περιόδου σύνδεσης και επιβιώνει μετά από μία ανακατεύθυνση, επομένως χρησιμοποιείται για τη διαβίβαση δεδομένων μεταξύ δύο διαδοχικών αιτημάτων.

Η μηχανή δρομολόγησης ταιριάζει με μια εισερχόμενη URL σε σχέση με τα πρότυπα που είναι καταχωρημένα στο RouteConfig. Όταν ένα πρότυπο ταιριάζει, το MVC επιλέγει τον ελεγκτή και την ενέργεια, συνδέει τυχόν παραμέτρους και καλεί την ενέργεια για να επιστρέψει ένα ActionResult.

Το Razor είναι μια συμπαγής σύνταξη για την ενσωμάτωση C# ή VB.NET σε αρχεία .cshtml ή .vbhtml. Χρησιμοποιεί το @ για εναλλαγή από HTML σε κώδικα, διατηρεί τα πρότυπα αναγνώσιμα και μεταγλωττίζεται σε γρήγορες, έντονα τυποποιημένες κλάσεις κατά τον χρόνο εκτέλεσης.

Το κλασικό ASP.NET MVC εκτελείται στο πλήρες .NET Framework και Windows μόνο. ​​Το ASP.NET Core MVC εκτελείται σε .NET Core σε Windows, Linux και macOS, χρησιμοποιεί ένα ενοποιημένο μοντέλο ελεγκτή με Web API και προσφέρει ενσωματωμένη ένεση εξαρτήσεων.

Χρησιμοποιήστε την ταυτότητα ASP.NET ή έναν εξωτερικό πάροχο όπως Azure AD για σύνδεση. Διακοσμήστε έναν ελεγκτή ή μια ενέργεια με το χαρακτηριστικό [Εξουσιοδότηση] για να περιορίσετε την πρόσβαση και χρησιμοποιήστε παραμέτρους ρόλου ή πολιτικής για πιο λεπτομερείς κανόνες.

Δημιουργήστε τον Ελεγκτή σε μια μέθοδο δοκιμής, εισάγετε ψεύτικες ή εικονικές υπηρεσίες μέσω του κατασκευαστή, καλέστε την ενέργεια και επιβεβαιώστε ότι το επιστρεφόμενο ActionResult ταιριάζει με το αναμενόμενο όνομα προβολής, μοντέλο ή στόχο ανακατεύθυνσης.

Συνοψίστε αυτήν την ανάρτηση με: