Διαφορά μεταξύ MVC και MVP Διαφορά μεταξύ

Anonim

MVC vs MVP

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

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

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

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

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

Περίληψη:

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

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