Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Ποιος είναι ο ρόλος των παρουσιαστών προβολής στο MVVMCROSS


Ποιος είναι ο ρόλος των παρουσιαστών προβολής στο MVVMCROSS


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

Ρόλος των παρουσιαστών προβολής

1. Πλοήγηση και παρουσίαση: Προβολή παρουσιαστών χειρίζονται αιτήματα από μοντέλα προβολής για να περιηγηθείτε σε νέες προβολές ή να αλλάξετε την παρουσίαση των υφιστάμενων. Αποφασίζουν πώς να εμφανίζουν αυτές τις προβολές με βάση τις δυνατότητες της πλατφόρμας και τις απαιτήσεις της εφαρμογής [1] [2].

2. Εφαρμογή συγκεκριμένης πλατφόρμας: Δεδομένου ότι οι παρουσιαστές ασχολούνται άμεσα με το στρώμα προβολής, είναι εγγενώς ειδικά για την πλατφόρμα. Αυτό επιτρέπει στους προγραμματιστές να προσαρμόσουν την παρουσίαση με βάση τον τύπο της συσκευής, όπως η χρήση καρτελών σε iOS και Android, αλλά μια προβολή περιστροφής στο Windows Phone [1].

3. Προσαρμογή και ευελιξία: Οι παρουσιαστές επιτρέπουν στους προγραμματιστές να εφαρμόσουν διαφορετικές στρατηγικές παρουσίασης για διάφορα μεγέθη οθόνης ή προσανατολισμούς. Για παράδειγμα, σε μια μικρή οθόνη τηλεφώνου, μια λίστα και λεπτομέρειες μπορεί να εμφανίζονται σε ξεχωριστές οθόνες, ενώ σε ένα δισκίο, θα μπορούσαν να εμφανιστούν δίπλα-δίπλα χρησιμοποιώντας μια διαχωρισμένη προβολή [1].

4. Χρήση τιμών παρουσίασης: Οι παρουσιαστές μπορούν να λάβουν πρόσθετες πληροφορίες μέσω `PresentationValues ​​', οι οποίες αποτελούν μέρος του` mvxviewModelRequest'. Αυτό επιτρέπει στα μοντέλα προβολής να μεταβιβάσουν τις υπαινιγμούς στον παρουσιαστή για το πώς πρέπει να παρουσιαστεί η προβολή, όπως η εκκαθάριση της στοίβας πλοήγησης μετά από μια λειτουργία σύνδεσης [7].

5. Προεπιλεγμένοι και προσαρμοσμένοι παρουσιαστές: Το MVVMCROSS παρέχει προεπιλεγμένους παρουσιαστές για κάθε πλατφόρμα, αλλά οι προγραμματιστές μπορούν επίσης να δημιουργήσουν προσαρμοσμένους παρουσιαστές για να καλύψουν συγκεκριμένες ανάγκες εφαρμογών. Οι προσαρμοσμένοι παρουσιαστές μπορούν να αντικαταστήσουν την προεπιλεγμένη συμπεριφορά για να εφαρμόσουν μοναδικά πρότυπα πλοήγησης ή στυλ παρουσίασης [2] [4].

βασικές μέθοδοι προβολής παρουσιαστών

- `show (mvxviewModelRequest αίτημα)`: Αυτή η μέθοδος καλείται όταν το `showViewModel ()` χρησιμοποιείται από ένα μοντέλο προβολής. Κατασκευάζει και εμφανίζει την αντίστοιχη προβολή με βάση τα στοιχεία αίτησης [1].

- `ChangePresentation (MVXPresEntationHint Hint)`: Αυτή η μέθοδος επιτρέπει τις αλλαγές παρουσίασης που δεν περιλαμβάνουν την εμφάνιση ενός νέου μοντέλου προβολής, όπως το κλείσιμο μιας προβολής ή την αλλαγή του τρόπου παρουσίασης [1].

Οφέλη από τη χρήση προβολής παρουσιαστών

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

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

Αναφορές:
[1] https://gregshackles.com/presenters-in-mvvmcross-a-primer/
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[3] https://learn.microsoft.com/en-us/archive/msdn-magazine/2011/december/mvpvm-design-pattern-the-model-view-presenter-viewmodel-design-pattern-for-wpf
[4] https://www.mvvmcross.com/mvvmcross-5-release/
[5] https://www.mvvmcross.com/documentation/platform/ios/ios-view-presenter
[6] https://softwareengineering.stackkexchange.com/questions/60774/model-view-presenter-implementation-thoughts
[7] https://gregshackles.com/presenters-in-mvvmcross-using-presentation-values/
[8] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms-view-presenter
[9] https://www.gatling.xyz/explaining-model-view-presenter/
[10] https://www.mvvmcross.com/documentation/platform/android/android-view-presenter