Χρησιμοποιώντας τα δοχεία παιδιών στο MVVMCROSS προσφέρει πολλά οφέλη, ιδίως στη διαχείριση εξαρτήσεων εντός σύνθετων εφαρμογών. Εδώ είναι μερικά από τα βασικά πλεονεκτήματα:
ευελιξία στη διαχείριση εξάρτησης
Τα δοχεία παιδιών σας επιτρέπουν να καταχωρίσετε περιπτώσεις ή τύπους για συγκεκριμένο σκοπό χωρίς να επηρεάσετε το δοχείο σε επίπεδο εφαρμογών. Αυτό σημαίνει ότι μπορείτε να έχετε διαφορετικές εφαρμογές υπηρεσιών ή διεπαφών για διάφορα μέρη της εφαρμογής σας, η οποία είναι ιδιαίτερα χρήσιμη σε σενάρια όπου πρέπει να απομονώσετε τις εξαρτήσεις για ένα συγκεκριμένο χαρακτηριστικό ή συνεδρία [1] [4].
Απομόνωση των εξαρτήσεων
Χρησιμοποιώντας τα δοχεία παιδιών, μπορείτε να απομονώσετε τις εξαρτήσεις που έχουν περιορισμένη διάρκεια ζωής ή είναι συγκεκριμένες σε ένα συγκεκριμένο πλαίσιο. Αυτό βοηθά στη διατήρηση μιας καθαρής και οργανωμένης δομής εξάρτησης, καθιστώντας ευκολότερη τη διαχείριση και τον εντοπισμό της εφαρμογής σας [1] [4].
Κληρονομικότητα των εξαρτήσεων
Κάθε δοχείο παιδιού κληρονομεί όλες τις εξαρτήσεις που είναι εγγεγραμμένες στο γονικό δοχείο του. Αυτό εξασφαλίζει ότι δεν χρειάζεται να αντιγράφετε εγγραφές για κοινές υπηρεσίες σε διάφορα μέρη της αίτησής σας. Αντ 'αυτού, μπορείτε να εστιάσετε στην εγγραφή μόνο των συγκεκριμένων εξαρτήσεων που απαιτούνται για το πεδίο εφαρμογής του δοχείου του παιδιού [1] [4].
βαθιά φωλιά
Το MVVMCROSS σας επιτρέπει να δημιουργήσετε όσα και τόσο βαθιά ένθετα δοχεία παιδιών, όπως απαιτείται. Αυτή η ευελιξία είναι ευεργετική σε πολύπλοκες εφαρμογές όπου διαφορετικές ενότητες ή χαρακτηριστικά απαιτούν το δικό τους σύνολο εξαρτήσεων χωρίς να παρεμβαίνουν στις εξαρτήσεις της κύριας εφαρμογής [1] [4].
Απλοποιημένη δοκιμή
Η χρήση δοχείων παιδιών μπορεί επίσης να απλοποιήσει τις δοκιμές, επιτρέποντάς σας να χάσετε εύκολα ή να αντικαταστήσετε τις εξαρτήσεις για συγκεκριμένα σενάρια δοκιμών. Αυτή η απομόνωση βοηθά στη γραφή πιο εστιασμένων δοκιμών μονάδων χωρίς να επηρεάζουν τη δομή εξάρτησης της συνολικής εφαρμογής [5].
βελτιωμένη modularity
Τα δοχεία παιδιών προωθούν τη modularity, επιτρέποντάς σας να διαχειριστείτε τις εξαρτήσεις σε μια λεπτότερη λεπτομερή. Αυτή η modularity είναι ζωτικής σημασίας στην ανάπτυξη μεταξύ των πλατφορμών, όπου διαφορετικές πλατφόρμες ενδέχεται να απαιτούν διαφορετικές εφαρμογές υπηρεσιών ή διεπαφών [5] [7].
Συνολικά, τα δοχεία παιδιών στο MVVMCROSS παρέχουν ένα ισχυρό εργαλείο για τη διαχείριση των εξαρτήσεων σε σύνθετες εφαρμογές, την ενίσχυση της ευελιξίας, της διαμόρφωσης και της διατήρησης.
Αναφορές:[1] https://www.mvvmcross.com/documentation/fundamentals/inversion-of-control-ioc
[2] https://canbilgin.wordpress.com/2017/02/26/developing-universalcross-platform-apps-with-mvvm-vii/
[3] https://www.palmmedia.de/blog/2011/8/30/ioc-container-benchmark-performance-comparison
[4] https://www.mvvmcross.com/mvvmcross-6.0.0-release/
[5] https://dev.to/christian1006/creating-cross-platform-xamarin-pplications-ushing-the-mvmcross-framework-2920
[6] https://github.com/aalice072/mvvmcross/blob/master/changelog.md
[7] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[8] https://livebook.manning.com/book/xamarin-in-action/chapter-4/
[9] https://stackoverflow.com/questions/16514691/child-containers-in-mvvmcross-ioc