MVC Archiδομή και πλαίσιο με παραδείγματα

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

Το Model-View-Controller (MVC) είναι ένα αρχιτεκτονικό μοτίβο που διαχωρίζει μια εφαρμογή σε τρία στοιχεία - Μοντέλο, Προβολή και Ελεγκτή - απομονώνοντας την επιχειρηματική λογική από το επίπεδο παρουσίασης για τη δημιουργία συντηρήσιμων και δοκιμαστικών εφαρμογών ιστού και επιφάνειας εργασίας χρησιμοποιώντας πλαίσια όπως το Spring, το Django και το Laravel.

  • 🧱 Τρία Στοιχεία: Το MVC διαιρεί μια εφαρμογή σε Μοντέλο (δεδομένα), Προβολή (παρουσίαση) και Ελεγκτή (αλληλεπίδραση χρήστη).
  • 🗄️ Μοντέλο: Αποθηκεύει δεδομένα και επιχειρηματική λογική, ανταποκρινόμενο σε αιτήματα από την Προβολή και σε οδηγίες από τον Ελεγκτή.
  • Θέα: Παρουσιάζει δεδομένα στον χρήστη μέσω στοιχείων διεπαφής χρήστη, όπως πλαίσια κειμένου, αναπτυσσόμενα μενού, γραφήματα και πίνακες.
  • 🎮 Ελεγκτής: Ερμηνεύει την είσοδο του χρήστη και, στη συνέχεια, ενημερώνει το Μοντέλο και την Προβολή ανάλογα.
  • ⚙️ Δημοφιλή Πλαίσια: Spring MVC, Django, Ruby on Rails, CakePHP, Laravel και CodeΟ αναφλεκτήρας εφαρμόζει το μοτίβο MVC.
  • Πλεονεκτήματα έναντι μειονεκτημάτων: Το MVC βελτιώνει την ικανότητα δοκιμής και την παράλληλη ανάπτυξη, αλλά προσθέτει κοιλιακούς.tracεπίπεδα σηµείωσης και πολυπλοκότητα πλοήγησης.

MVC Archiδομή και πλαίσιο

Τι είναι το MVC Framework;

The Model-View-Controller (MVC) Το πλαίσιο είναι ένα αρχιτεκτονικό μοτίβο που διαχωρίζει μια εφαρμογή σε τρία κύρια λογικά στοιχεία Model, View και Controller. Εξ ου και η συντομογραφία MVC. Κάθε στοιχείο αρχιτεκτονικής έχει κατασκευαστεί για να χειρίζεται συγκεκριμένη πτυχή ανάπτυξης μιας εφαρμογής. Το MVC διαχωρίζει την επιχειρηματική λογική και το επίπεδο παρουσίασης το ένα από το άλλο. Χρησιμοποιήθηκε παραδοσιακά για γραφικές διεπαφές χρήστη (GUIs) για επιτραπέζιους υπολογιστές. Σήμερα, η αρχιτεκτονική MVC στην τεχνολογία web έχει γίνει δημοφιλής για το σχεδιασμό εφαρμογών Ιστού καθώς και εφαρμογών για κινητά.

Ιστορία του MVC

  • Η αρχιτεκτονική MVC συζητήθηκε για πρώτη φορά το 1979 από τον Trygve Reenskaug
  • Το μοντέλο MVC εισήχθη για πρώτη φορά το 1987 στη γλώσσα προγραμματισμού Smalltalk.
  • Το MVC έγινε αποδεκτό για πρώτη φορά ως γενική έννοια, σε ένα άρθρο του 1988
  • Τον τελευταίο καιρό, το μοτίβο MVC χρησιμοποιείται ευρέως σε σύγχρονες εφαρμογές ιστού.

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

  • Εύκολη και χωρίς τριβές δοκιμασιμότητα. Πλαίσιο εξαιρετικά ελεγχόμενο, επεκτάσιμο και βύσμα
  • Για να σχεδιάσετε μια αρχιτεκτονική διαδικτυακής εφαρμογής χρησιμοποιώντας το μοτίβο MVC, προσφέρει πλήρη έλεγχο τόσο της HTML όσο και της URLs
  • Αξιοποιήστε τις υπάρχουσες δυνατότητες που παρέχονται από τα ASP.NET, JSP, Django κ.λπ.
  • Σαφής διαχωρισμός λογικής: Μοντέλο, Προβολή, Ελεγκτής. Διαχωρισμός των καθηκόντων εφαρμογής, δηλαδή. επιχειρηματική λογική, λογική Ul και λογική εισόδου
  • URL Δρομολόγηση για SEO Friendly URLs. Ισχυρό URL-χάρτηςping για κατανοητό και αναζητήσιμο URLs
  • Υποστηρίζει για Test Driven Development (TDD)

MVC Archiδομή

Τώρα που τα οφέλη είναι σαφή, ακολουθεί η λεπτομερής αρχιτεκτονική του πλαισίου MVC:

MVC Archiδομή
MVC Archiδιάγραμμα δομής

Τρία σημαντικά στοιχεία MVC είναι:

  • Μοντέλο: Περιλαμβάνει όλα τα δεδομένα και τη σχετική λογική του
  • Προβολή: Παρουσιάστε δεδομένα στον χρήστη ή χειρίζεται την αλληλεπίδραση με τον χρήστη
  • Ελεγκτής: Μια διεπαφή μεταξύ των στοιχείων Model και View

Ας δούμε λεπτομερώς καθένα από αυτά τα στοιχεία:

Προβολή

Προβολή είναι εκείνο το τμήμα της εφαρμογής που αντιπροσωπεύει την παρουσίαση δεδομένων.

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

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

ελεγκτής

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

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

Μοντέλο

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

Ανταποκρίνεται στο αίτημα των προβολών και επίσης ανταποκρίνεται στις οδηγίες του ελεγκτή για να ενημερωθεί. Είναι επίσης το χαμηλότερο επίπεδο του μοτίβου που είναι υπεύθυνο για τη διατήρηση των δεδομένων.

Παραδείγματα MVC

Ας δούμε παράδειγμα Model View Controller από την καθημερινή ζωή:

Παράδειγμα 1

Παραδείγματα MVC

  • Ας υποθέσουμε ότι πηγαίνετε σε ένα εστιατόριο. Δεν θα πάτε στην κουζίνα και θα ετοιμάσετε φαγητό που σίγουρα μπορείτε να κάνετε στο σπίτι σας. Αντίθετα, πηγαίνετε εκεί και περιμένετε να έρθει ο σερβιτόρος.
  • Τώρα έρχεται ο σερβιτόρος και παραγγέλνεις το φαγητό. Ο σερβιτόρος δεν ξέρει ποιος είσαι και τι θέλεις, απλώς έγραψε τις λεπτομέρειες της παραγγελίας του φαγητού σου.
  • Στη συνέχεια, ο σερβιτόρος μετακομίζει στην κουζίνα. Στην κουζίνα, ο σερβιτόρος δεν ετοιμάζει το φαγητό σας.
  • Ο μάγειρας ετοιμάζει το φαγητό σας. Στον σερβιτόρο δίνεται η παραγγελία σας μαζί με τον αριθμό του τραπεζιού σας.
  • Μαγειρέψτε και στη συνέχεια ετοιμάστε φαγητό για εσάς. Χρησιμοποιεί υλικά για να μαγειρεύει το φαγητό. Ας υποθέσουμε ότι παραγγείλετε ένα σάντουιτς λαχανικών. Μετά χρειάζεται ψωμί, ντομάτα, πατάτα, πιπεριά, κρεμμύδι, μπουκιά, τυρί κ.λπ. που τα προμηθεύεται από το ψυγείο
  • Μαγειρέψτε το τελευταίο παραδώστε το φαγητό στον σερβιτόρο. Τώρα είναι δουλειά του σερβιτόρου να μετακινήσει αυτό το φαγητό έξω από την κουζίνα.
  • Τώρα ο σερβιτόρος ξέρει ποιο φαγητό έχετε παραγγείλει και πώς σερβίρονται.

Σε αυτό το παράδειγμα αρχιτεκτονικής MVC,

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

Ας δούμε ένα ακόμη παράδειγμα μοντέλου MVC,

Παράδειγμα 2

Παραδείγματα MVC

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

  • Κάθε αυτοκίνητο αποτελείται από τρία κύρια μέρη.
  • Προβολή: Διεπαφή χρήστη: (Μοχλός ταχυτήτων, πάνελ, τιμόνι, φρένο, κ.λπ.)
  • Ελεγκτής- Μηχανισμός (Κινητήρας)
  • Μοντέλο-Αποθήκευση (ρεζερβουάρ βενζίνης ή ντίζελ)

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

Δημοφιλή πλαίσια web MVC

Εδώ, είναι μια λίστα με μερικά δημοφιλή πλαίσια MVC:

Πλεονεκτήματα του MVC: Βασικά πλεονεκτήματα

Ακολουθούν τα κύρια οφέλη από τη χρήση της αρχιτεκτονικής MVC:

  • Εύκολη συντήρηση κώδικα που είναι εύκολο να επεκταθεί και να αναπτυχθεί
  • Το στοιχείο MVC Model μπορεί να ελεγχθεί ξεχωριστά από το χρήστη
  • Ευκολότερη υποστήριξη για νέους τύπους πελατών
  • Η ανάπτυξη των διαφόρων συστατικών μπορεί να πραγματοποιηθεί παράλληλα.
  • Σας βοηθά να αποφύγετε την πολυπλοκότητα διαιρώντας μια εφαρμογή στις τρεις ενότητες. Μοντέλο, προβολή και ελεγκτής
  • Χρησιμοποιεί μόνο ένα μοτίβο Front Controller που επεξεργάζεται αιτήματα εφαρμογών web μέσω ενός μόνο ελεγκτή.
  • Προσφέρει την καλύτερη υποστήριξη για δοκιμαστική ανάπτυξη
  • Λειτουργεί καλά για εφαρμογές Ιστού που υποστηρίζονται από μεγάλες ομάδες σχεδιαστών και προγραμματιστών ιστού.
  • Παρέχει καθαρό διαχωρισμό των ανησυχιών (SoC).
  • Φιλικό προς τη βελτιστοποίηση μηχανών αναζήτησης (SEO).
  • Όλες οι κλάσεις και τα αντικείμενα είναι ανεξάρτητα μεταξύ τους, ώστε να μπορείτε να τα δοκιμάσετε ξεχωριστά.
  • Το μοτίβο σχεδίασης MVC επιτρέπει λογικές ομάδεςping συναφών ενεργειών σε έναν ελεγκτή μαζί.

Μειονεκτήματα της χρήσης MVC

  • Δύσκολη ανάγνωση, αλλαγή, δοκιμή μονάδας και επαναχρησιμοποίηση αυτού του μοντέλου
  • Η πλοήγηση στο πλαίσιο μπορεί να είναι περίπλοκη από άποψη χρόνου, καθώς εισάγει νέα επίπεδα κοιλιακών.tracση που απαιτεί από τους χρήστες να προσαρμοστούν στα κριτήρια αποσύνθεσης του MVC.
  • Δεν υπάρχει επίσημη υποστήριξη επικύρωσης
  • Αυξημένη πολυπλοκότητα και αναποτελεσματικότητα δεδομένων
  • Η δυσκολία χρήσης MVC με τη σύγχρονη διεπαφή χρήστη
  • Υπάρχει ανάγκη για πολλούς προγραμματιστές να διεξάγουν παράλληλο προγραμματισμό.
  • Απαιτείται γνώση πολλαπλών τεχνολογιών.
  • Συντήρηση πολλών κωδικών στο Controller

3-επίπεδο Architecture εναντίον MVC Archiδομή

Παράμετρος 3-Tier Archiδομή MVC Archiδομή
Επικοινωνία Αυτός ο τύπος μοτίβου αρχιτεκτονικής δεν επικοινωνεί ποτέ απευθείας με το επίπεδο δεδομένων. Όλα τα επίπεδα επικοινωνούν απευθείας χρησιμοποιώντας τοπολογία τριγώνου.
Χρήση 3-επίπεδο: χρησιμοποιείται ευρέως σε εφαρμογές web όπου ο πελάτης, τα επίπεδα δεδομένων και το ενδιάμεσο λογισμικό εκτελούνται σε φυσικά ξεχωριστές πλατφόρμες. Χρησιμοποιείται γενικά σε εφαρμογές που εκτελούνται σε έναν ενιαίο σταθμό εργασίας γραφικών.

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

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

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

Χρησιμοποιήστε MVC κατά την ανάπτυξη εφαρμογών που χρειάζονται σαφή διαχωρισμό δεδομένων, UI και λογικής, ειδικά εφαρμογές ιστού που συντηρούνται από μεγαλύτερες ομάδες. Βελτιώνει τη δυνατότητα δοκιμής, την παράλληλη ανάπτυξη και τη φιλική προς το SEO δρομολόγηση.

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

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

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