MVC, MVP, MVVM: Ποιο να διαλέξω;

MVC, MVP, MVVM: Ποιο να διαλέξω;

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





πώς να αναγκάσετε την επανεκκίνηση του macbook air

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





Αρχιτεκτονικά και Σχεδιαστικά Μοτίβα

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

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





Μοτίβο σχεδίασης

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

Η διαφορά μεταξύ αρχιτεκτονικού και σχεδιαστικού μοτίβου

Ας ξεκινήσουμε με τον κοινό όρο-μοτίβο. Στο λογισμικό, ένα μοτίβο είναι μια επαναλαμβανόμενη ιδιότητα που σας επιτρέπει να αναλύσετε μια τεράστια και πολύπλοκη δομή σε μικρότερα, απλούστερα στοιχεία. Μπορείτε να χρησιμοποιήσετε αυτό το μοτίβο για να δημιουργήσετε μια γενική λύση για μια κατηγορία προβλημάτων.



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

Γιατί Χρειαζόμαστε Μοτίβα Αρχιτεκτονικού Σχεδιασμού;

Κατά την ανάπτυξη λογισμικού, μπορείτε να χρησιμοποιήσετε μοτίβα αρχιτεκτονικού σχεδιασμού για να λύσετε κοινά προβλήματα. Η καλή αρχιτεκτονική μπορεί επίσης να σας βοηθήσει:





  • Χωρίστε τις σύνθετες εργασίες σε απλούστερες εργασίες.
  • Μειώστε τα σφάλματα.
  • Δημιουργήστε κώδικα με δυνατότητα δοκιμής και συντήρησης.

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

Μοντέλο, Προβολή, Προβολή Μοντέλου, Ελεγκτής και Παρουσιαστής

Πριν δείτε κάθε μοτίβο, ακολουθούν οι όροι που το απαρτίζουν:





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

Μοτίβα MVC, MVP και MVVM

Μοτίβο μοντέλου-προβολής-ελεγκτή

ο Αρχιτεκτονικό μοτίβο MVC ήταν το πρώτο και είναι δημοφιλές σήμερα στον τομέα των web εφαρμογών. Εισήχθη τη δεκαετία του 1970. Αυτό το μοτίβο σάς επιτρέπει να δημιουργήσετε μια εφαρμογή γύρω από τον διαχωρισμό των ανησυχιών (SoC). Διευκολύνει την προσπάθεια που χρειάζεστε για να δοκιμάσετε, να διατηρήσετε και να αναπτύξετε την εφαρμογή σας.

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

Μερικά από τα πλεονεκτήματα του μοτίβου MVC είναι:

  • Διαχωρισμός ανησυχιών (πιο εστιασμένη).
  • Διευκολύνει τον έλεγχο και τη διαχείριση του κώδικα.
  • Προωθεί την αποσύνδεση των επιπέδων της εφαρμογής.
  • Καλύτερη οργάνωση κώδικα και επαναχρησιμοποίηση.

Δείτε πώς λειτουργεί το MVC:

  Εικόνα ενός διαγράμματος που δείχνει πώς λειτουργεί το MVC

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

Μοτίβο μοντέλου-προβολής-παρουσιαστή

Το μοτίβο MVP μοιράζεται δύο στοιχεία με το MVC: μοντέλο και προβολή. Αντικαθιστά τον ελεγκτή με τον παρουσιαστή. Ο παρουσιαστής —όπως υποδηλώνει το όνομά του— χρησιμοποιείται για να παρουσιάσει κάτι. Σας επιτρέπει να κοροϊδεύετε την προβολή πιο εύκολα.

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

Ακολουθεί μια απεικόνιση του πώς λειτουργεί το μοτίβο MVP:

  Εικόνα ενός διαγράμματος που δείχνει πώς λειτουργεί το MVP

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

Model-View-ViewModel Pattern

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

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

Ακολουθεί μια απεικόνιση του πώς λειτουργεί το MVVM:

  Εικόνα ενός διαγράμματος που δείχνει πώς λειτουργεί το MVVM

Πότε να χρησιμοποιήσετε τα MVC, MVP και MVVM

Τώρα που μάθατε για κάθε μοτίβο, μάθετε πότε να τα χρησιμοποιήσετε.

Πότε να χρησιμοποιήσετε το MVC

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

Πότε να χρησιμοποιήσετε το MVP

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

Πότε να χρησιμοποιήσετε το MVVM

Θα θέλετε να χρησιμοποιήσετε το MVVM όταν:

  • Πρέπει να μοιραστείτε ένα έργο με έναν σχεδιαστή και οι εργασίες σχεδιασμού και ανάπτυξης μπορούν να γίνουν ανεξάρτητα.
  • Απαιτείτε δοκιμή μονάδας για τις λύσεις σας.
  • Πρέπει να έχετε επαναχρησιμοποιήσιμα στοιχεία, τόσο εντός όσο και σε όλα τα έργα στον οργανισμό σας.
  • Θέλετε μεγαλύτερη ευελιξία για να αλλάξετε τις απόψεις σας χωρίς να χρειάζεται να αναπαράγετε άλλη λογική στη βάση του κώδικα.

Ποιο μοτίβο να επιλέξετε;

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

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