Convenția privind configurația în mvvmcross
MVVMcross, un cadru MVVM cu platformă încrucișată, utilizează conceptul de „convenție de configurare pentru a simplifica procesul de dezvoltare prin reducerea necesității unei configurații explicite. Această abordare permite dezvoltatorilor să se concentreze pe aspecte neconvenționale ale aplicației lor, folosind convențiile implicite pentru a gestiona scenarii tipice.
Principii de bază
În MVVMcross, convenția de configurare este aplicată în principal în modul în care sunt legate vizualizările și ViewModels. În mod implicit, MVVMCross folosește o convenție de denumire pentru a asocia vizualizările cu ViewModels -ul lor corespunzător. De exemplu, dacă aveți un `TipView`, MVVMcross va căuta automat un` TipViewModel` pentru a se asocia cu acesta. Această convenție elimină nevoia de o configurație explicită, ceea ce face mai ușor gestionarea relației dintre vizualizări și ViewModels [11].
Implementare
1. ViewModel Naming Convention: MVVMCross urmează o convenție de denumire specifică în care un ViewModel este numit de obicei prin adăugarea „Model” la numele vizualizării. De exemplu, `FirstView` este legat de` FirstViewModel` în mod implicit [5] [11].
2. Legătură automată: Când utilizați această convenție, MVVMcross localizează și leagă automat vizualizarea corespunzătoare la vizualizarea sa. Acest lucru este deosebit de util atunci când nu utilizați parametri generici pentru a defini în mod explicit aceste relații [11].
3. Flexibilitate: În timp ce MVVMcross se bazează pe convenții pentru simplitate, oferă și flexibilitate. Dezvoltatorii pot înlocui aceste convenții atunci când este necesar, folosind parametri generici sau configurații personalizate. Acest lucru permite mai mult control asupra modului în care sunt asociate vizualizările și ViewModels, în special în aplicațiile complexe [11].
Beneficii
- Configurare redusă: prin utilizarea convențiilor, dezvoltatorii petrec mai puțin timp scriind cod de configurare, concentrându -se în schimb pe logica aplicației.
- LITECȚIE Îmbunătățită: Codebase devine mai lizibilă pe măsură ce sarcinile de configurare repetitive sunt reduse la minimum.
- Întreținere simplificată: Cu mai puține configurații explicite, întreținerea și actualizarea aplicațiilor devine mai ușoară.
Personalizare
În timp ce MVVMcross se bazează foarte mult pe convenții, acesta acceptă și personalizarea. Dezvoltatorii pot înlocui comportamentele implicite prin implementarea logicii personalizate în clase cheie precum `App` și` Setup`. De exemplu, puteți personaliza containerul IOC sau puteți schimba modul în care ViewModels sunt construite și inițializate [9].
În rezumat, implementarea MVVMCross a Convenției pentru configurare simplifică procesul de dezvoltare prin automatizarea sarcinilor tipice, permițând dezvoltatorilor să se concentreze pe aspecte unice ale aplicațiilor lor. Această abordare îmbunătățește productivitatea și simplifică întreținerea aplicațiilor, oferind în același timp flexibilitatea necesară pentru scenarii complexe.
Citări:[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-applications-using-the-mvmcross-framework/
]
[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