Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Ποιες είναι οι διαφορές μεταξύ της χρήσης των απαιτούμενων και των δεσμευμένων στο MVVMCross


Ποιες είναι οι διαφορές μεταξύ της χρήσης των απαιτούμενων και των δεσμευμένων στο MVVMCross


Στο MVVMCROSS, οι απαιτούμενοι όροι και οι δεσμευμένοι δεν ισχύουν άμεσα καθώς βρίσκονται στον πυρήνα ASP.NET. Ωστόσο, η κατανόηση των ρόλων τους στο ASP.NET Core μπορεί να βοηθήσει στην αποσαφήνιση του τρόπου με τον οποίο θα μπορούσαν να εφαρμοστούν παρόμοιες έννοιες στο MVVMCross.

ASP.NET CORE CONTULTING

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

- BindRequiredattribute: Αυτό το χαρακτηριστικό εξασφαλίζει ότι υπάρχει μια ιδιότητα στα εισερχόμενα δεδομένα κατά τη διάρκεια της δέσμευσης μοντέλου. Σε αντίθεση με το απαιτούμενο, ελέγχει για την παρουσία της ιδιοκτησίας στα δεδομένα αιτήματος, όχι μόνο της μηδενικής δυνατότητάς του [1] [3] [4].

mvvmcross περιβάλλον

Στο MVVMCROSS, εστιάζεται στη δέσμευση δεδομένων μεταξύ της προβολής και του ViewModel. Το πλαίσιο δεν χρησιμοποιεί τα απαιτούμενα ή τα περιορισμένα χαρακτηριστικά απευθείας. Αντ 'αυτού, βασίζεται σε τρόπους δέσμευσης όπως το OneWay ή το Twoway για τη διαχείριση του συγχρονισμού δεδομένων μεταξύ της προβολής και του ViewModel [2] [7].

- Λειτουργίες δέσμευσης στο MVVMCROSS:
- OneWay: Τα δεδομένα ρέει από το ViewModel στην προβολή.
- Twoway: Τα δεδομένα ρέουν και οι δύο τρόποι μεταξύ της προβολής και του ViewModel. Αυτή είναι η προεπιλεγμένη λειτουργία για προσαρμοσμένες συνδέσεις στο MVVMCROSS [7].

Για να επιτύχετε παρόμοια λειτουργικότητα με τις απαιτούμενες ή bindrequired στο MVVMCROSS, συνήθως θα εφαρμόσετε τη λογική επικύρωσης στο ViewModel ή θα χρησιμοποιήσετε προσαρμοσμένες συνδέσεις για να διασφαλίσετε ότι ορισμένες ιδιότητες ενημερώνονται σωστά. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το InotifyPropertyChanged για να ειδοποιήσετε την άποψη των αλλαγών στο ViewModel, εξασφαλίζοντας ότι τα δεδομένα είναι πάντα ενημερωμένα [2] [8].

Εφαρμογή επικύρωσης στο MVVMCROSS

Ενώ το MVVMCross δεν υποστηρίζει άμεσα απαιτείται ή είναι συνδεδεμένη, μπορείτε να εφαρμόσετε επικύρωση ελέγχοντας για μηδενικές ή κενές τιμές στις ιδιότητες του ViewModel. Αυτό μπορεί να γίνει χειροκίνητα ή χρησιμοποιώντας πλαίσια επικύρωσης που ενσωματώνονται με το MVVMCross.

Περίληψη

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

Αναφορές:
[1] https://blog.dominikasikorska.pl/required-vs-bindrequired/
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[3] https://dotnettutorials.net/lesson/bindnever-and-bindrequired-attribute-in-s-net-core-mvc/
[4] https://www.strathweb.com/2017/12/required-and-bindrequired-in-asp-net-core-mvc/
[5] https://www.mvvmcross.com/documentation/plugins/methodbinding
[6] https://towardsdev.com/mastering-the-use-of-requiredattribute-a-detailed-comparison-frequired-vs-bindrequired-b3feaf5ef5
[7] https://stackoverflow.com/questions/41768962/mvvmcross-default-binding-mode-user-in-a-project
[8] https://www.mvvmcross.com/documentation/advanced/custom-data-binding