Σύμβαση για τη διαμόρφωση στο MVVMCROSS
Το MVVMCROSS, ένα πλαίσιο MVVM cross-platform, χρησιμοποιεί την έννοια της "σύμβασης πάνω από τη διαμόρφωση" για την απλοποίηση της διαδικασίας ανάπτυξης μειώνοντας την ανάγκη για ρητή διαμόρφωση. Αυτή η προσέγγιση επιτρέπει στους προγραμματιστές να επικεντρωθούν σε μη συμβατικές πτυχές της εφαρμογής τους, αξιοποιώντας τις προεπιλεγμένες συμβάσεις για να χειριστούν τυπικά σενάρια.
βασικές αρχές
Στο MVVMCROSS, η σύμβαση μέσω της διαμόρφωσης εφαρμόζεται κυρίως στον τρόπο σύνδεσης των προβολών και των προβολών. Από προεπιλογή, το MVVMCROSS χρησιμοποιεί μια σύμβαση ονομασίας για να συσχετίσει τις προβολές με τα αντίστοιχα ViewModels. Για παράδειγμα, εάν έχετε ένα `tipview`, το MVVMCROSS θα αναζητήσει αυτόματα ένα` tipviewmodel` για να συνδυάσει με αυτό. Αυτή η σύμβαση εξαλείφει την ανάγκη για ρητή διαμόρφωση, καθιστώντας ευκολότερη τη διαχείριση της σχέσης μεταξύ προβολών και προβολών [11].
Εφαρμογή
1. Σύμβαση ονομασίας ViewModel: Το MVVMCross ακολουθεί μια συγκεκριμένη σύμβαση ονομασίας όπου το ViewModel ονομάζεται τυπικά με προσθήκη "μοντέλου" στο όνομα της προβολής. Για παράδειγμα, το "FirstView` συνδέεται με το" FirstViewModel "από προεπιλογή [5] [11].
2. Αυτόματη σύνδεση: Όταν χρησιμοποιείτε αυτήν τη σύμβαση, το MVVMCROSS εντοπίζει αυτόματα και συνδέει το κατάλληλο ViewModel με την άποψή του. Αυτό είναι ιδιαίτερα χρήσιμο όταν δεν χρησιμοποιείτε γενικές παραμέτρους για να καθορίσετε ρητά αυτές τις σχέσεις [11].
3. Ευελιξία: Ενώ το MVVMCROSS βασίζεται σε συμβάσεις για απλότητα, παρέχει επίσης ευελιξία. Οι προγραμματιστές μπορούν να παρακάμψουν αυτές τις συμβάσεις όταν είναι απαραίτητο χρησιμοποιώντας γενικές παραμέτρους ή προσαρμοσμένες διαμορφώσεις. Αυτό επιτρέπει τον μεγαλύτερο έλεγχο του τρόπου με τον οποίο σχετίζονται οι προβολές και οι προβολές, ειδικά σε πολύπλοκες εφαρμογές [11].
Οφέλη
- Μειωμένη διαμόρφωση: Με τη μόχλευση των συμβάσεων, οι προγραμματιστές ξοδεύουν λιγότερο χρόνο γράφοντας τον κωδικό διαμόρφωσης, εστιάζοντας αντ 'αυτού στη λογική εφαρμογής.
- Βελτιωμένη αναγνωσιμότητα: Το base codebase γίνεται πιο ευανάγνωστη καθώς ελαχιστοποιούνται οι επαναλαμβανόμενες εργασίες διαμόρφωσης.
- Απλοποιημένη συντήρηση: Με λιγότερες ρητές διαμορφώσεις, η διατήρηση και η ενημέρωση των εφαρμογών γίνεται ευκολότερη.
Προσαρμογή
Ενώ το MVVMCROSS εξαρτάται σε μεγάλο βαθμό από τις συμβάσεις, υποστηρίζει επίσης την προσαρμογή. Οι προγραμματιστές μπορούν να αντικαταστήσουν τις προεπιλεγμένες συμπεριφορές εφαρμόζοντας προσαρμοσμένη λογική σε βασικές κατηγορίες όπως `app` και` setup '. Για παράδειγμα, μπορείτε να προσαρμόσετε το δοχείο της ΔΟΕ ή να αλλάξετε τον τρόπο κατασκευής και αρχικοποιημένης προβολής των προβολών [9].
Συνοπτικά, η εφαρμογή της σύμβασης από τη διαμόρφωση του MVVMCross εξορθολογίζει τη διαδικασία ανάπτυξης, αυτοματοποιώντας τυπικά καθήκοντα, επιτρέποντας στους προγραμματιστές να επικεντρωθούν σε μοναδικές πτυχές των εφαρμογών τους. Αυτή η προσέγγιση ενισχύει την παραγωγικότητα και απλοποιεί τη συντήρηση των εφαρμογών, παρέχοντας παράλληλα την ευελιξία που απαιτείται για σύνθετα σενάρια.
Αναφορές:[1] https://en.wikipedia.org/wiki/convention_over_configuration
[2] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[3] https://leaware.com/creating-cross-platform-xamarin-pplications-using-the-mvmcross-framework/
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/february/patterns-in-practice-convention-over-configuration
[5] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[6] https://github.com/mvvmcross/mvvmcross-samples
[7] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[8] https://books.sonatype.com/mvnref-book/reference/installation-sect-conventionconfiguration.html
[9] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[10] https://www.mvvmcross.com/documentation/getting-started/getting-started
[11] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-note-about-views-and-viewmodels
[12] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview