Skip to main content

Τι είναι το μοντέλο-προβολή-ελεγκτή;

Μοντέλο-View-Controller (MVC) είναι ένας τύπος λογισμικού αρχιτεκτονικής και σχεδίου σχεδιασμού που διαχωρίζει κάθε στοιχείο ενός προγράμματος σε καλά καθορισμένες περιοχές λειτουργικότητας.Στην αρχιτεκτονική μοντέλου-εικονογράφησης-ελεγκτή, το μοντέλο ασχολείται με όλη τη λογική του εσωτερικού προγράμματος που χειρίζεται, αποθηκεύει, ανακτά και αλλιώς χειρίζεται και υπολογίζει δεδομένα.Η πτυχή View είναι υπεύθυνη για την προβολή πληροφοριών από το μοντέλο για το χρήστη και παρέχει επίσης έναν τρόπο για τον χρήστη να δώσει εισροές στο πρόγραμμα.Ο ελεγκτής λαμβάνει εισροή από την προβολή, αξιολογεί ή με άλλο τρόπο το επεξεργάζεται και αλληλεπιδρά με το μοντέλο για να αλλάξει τα δεδομένα ή την κατάσταση του προγράμματος, η οποία τελικά εμφανίζεται στον χρήστη μέσω της προβολής.Παρόλο που ο σχεδιασμός μοντέλου-ερασιτέχνη-ελεγκτή απαιτεί ένα πρόγραμμα για την ενσωμάτωση της λειτουργικότητας, τα τρία τμήματα πρέπει ακόμα να αλληλεπιδρούν μεταξύ τους με κάποιο τρόπο και γενικά εξαρτώνται μεταξύ τους με κάποια έννοια, σε αντίθεση με άλλα πιο επιθετικά σχέδια σχεδιασμού.Συχνά, το μοτίβο μοντέλου-προβολής-ελεγκτή παρατηρείται σε εφαρμογές που διαχειρίζονται ένα γραφικό περιβάλλον χρήστη (GUI).Χρησιμοποιώντας το μοτίβο MVC, τα διάφορα οπτικά στοιχεία του GUI αντιμετωπίζονται από την προβολή, την καταγραφή και την επεξεργασία του τόπου και τι χειρίζεται ο χρήστης από τον ελεγκτή και στην πραγματικότητα η αλλαγή πληροφοριών ή οι πληροφορίες φόρτωσης γίνονται από το μοντέλο.Ανάλογα με τον ακριβή σχεδιασμό μιας εφαρμογής, κάθε στοιχείο του μοτίβου MVC μπορεί να έχει έναν μηχανισμό για να αλληλεπιδράσει με τα άλλα εξαρτήματα, όπως το μοντέλο που μπορεί να δώσει άμεση εντολή στην άποψη να ανανεώσει την οθόνη ή την προβολή που έχει έναν τρόπο να πει τοΕλεγκτής ότι αναζωογονείται η οθόνη και να μην αποδεχθεί νέα είσοδο.Σε αντίθεση με ορισμένα σχέδια σχεδίασης που υιοθετούν μια αυστηρή προσέγγιση μαύρου κουτιού, τα προγράμματα μοντέλου-προβολής-εικαστών τείνουν να είναι ελαφρώς πιο ευέλικτα, αν και ορισμένες υλοποιήσεις μπορούν να καταστήσουν ένα πρόγραμμα MVC δύσκολο να αλλάξει ή να εντοπίσει εντολικά.

σε ορισμένες περιπτώσεις, το μοντέλο-Το μοτίβο ελέγχου του ελεγκτή δεν χρειάζεται να περιέχει μόνο ένα από κάθε στοιχείο.Ένα παράδειγμα είναι μια εφαρμογή που έχει πολλαπλές προβολές, όπως πολλαπλές οθόνες ή μια οθόνη που μπορεί να δει σε διάφορες συσκευές πελάτη.Πολλές προβολές και ελεγκτές μπορούν να χρησιμοποιηθούν σε μια εφαρμογή που επιτρέπει σε πολλούς χρήστες να έχουν πρόσβαση σε μια βάση δεδομένων, όλοι απαντώντας σε ένα μόνο μοντέλο.Ωστόσο, είναι πιο συνηθισμένο να σχεδιάζουμε συστήματα που διατηρούν μια αναλογία ενός προς ένα των στοιχείων μοντέλου-προβολής-ελεγκτή.Για να τροποποιήσετε ορισμένα μέρη ενός συστήματος που χρησιμοποιούν το μοτίβο MVC από ό, τι εάν δεν χρησιμοποιήθηκε καθόλου πρότυπο, ειδικά στην περίπτωση εφαρμογών που δεν προσφέρουν αντικειμενικά αντικειμένων.Εάν μια εφαρμογή χρησιμοποιεί επιστροφές επιστροφών ή ακροατές και παρατηρητές για την εφαρμογή αλληλεπιδράσεων μεταξύ των στοιχείων, τότε κάθε στοιχείο μπορεί να αλλάξει χωρίς να επηρεάσει τα άλλα δύο.Αυτό σημαίνει ότι ένα νέο GUI θα μπορούσε να εφαρμοστεί χωρίς να επηρεαστεί το μοντέλο ή ο ελεγκτής.Ωστόσο, θα πρέπει να σημειωθεί ότι οι θεμελιώδεις αλλαγές σε ένα σύστημα-ερεθίσματος μοντέλου-προβολής μπορεί να απαιτήσουν κάποια μικρή ποσότητα ανακατασκευής για κάθε μεμονωμένο στοιχείο.