Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kaip konvencija per konfigūraciją veikia MVVMCROSS


Kaip konvencija per konfigūraciją veikia MVVMCROSS


Konvencija per konfigūraciją MVVMCross

„MVVMCross“, kryžminio platformos MVVM sistema, naudojama „konvencijos per konfigūracija“ koncepcija, kad būtų supaprastinta plėtros procesas, sumažinant aiškios konfigūracijos poreikį. Šis požiūris leidžia kūrėjams sutelkti dėmesį į netradicinius jų taikymo aspektus, pasinaudojant numatytosiomis konvencijomis, kad būtų galima tvarkyti tipinius scenarijus.

Pagrindiniai principai

„MVVMCross“ konvencija per konfigūraciją pirmiausia taikoma, kai yra susieti peržiūros ir peržiūros modeliai. Pagal numatytuosius nustatymus MVVMCROSS naudoja įvardijimo konvenciją, kad susietų nuomones su jų atitinkamais „ViewModels“. Pvz., Jei turite „patarimų peržiūrą“, „Mvvmcross“ automatiškai ieškos „„ TipViewModel “su ja. Ši konvencija pašalina aiškios konfigūracijos poreikį, todėl yra lengviau valdyti ryšį tarp peržiūros ir peržiūros modelių [11].

įgyvendinimas

1. „ViewModel“ įvardijimo konvencija: „Mvvmcross“ seka konkrečią įvardijimo konvenciją, kai „ViewModel“ paprastai įvardijamas pridedant „modelį“ pagal rodinio pavadinimą. Pavyzdžiui, „firstView“ yra susietas su „firstViewModel“ pagal numatytuosius nustatymus [5] [11].

2. Automatinis susiejimas: Naudojant šią konvenciją, „MVVMCross“ automatiškai nustato ir susieja tinkamą „ViewModel“ su jo vaizdu. Tai ypač naudinga, kai nenaudojate bendrųjų parametrų, kad aiškiai apibrėžtumėte šiuos ryšius [11].

3. Lankstumas: Nors MVVMCross priklauso nuo konvencijų dėl paprastumo, tai taip pat suteikia lankstumo. Kūrėjai gali nepaisyti šių konvencijų, kai to reikia, naudodamiesi generiniais parametrais arba pasirinktinėmis konfigūracijomis. Tai leidžia labiau kontroliuoti, kaip yra susietos peržiūros ir vaizdo modelių, ypač sudėtingose ​​programose [11].

Privalumai

- Sumažinta konfigūracija: pasinaudodami konvencijomis, kūrėjai praleidžia mažiau laiko rašydami konfigūracijos kodą, o ne sutelkdami dėmesį į programos logiką.
- Patobulintas skaitomumas: „CodeBase“ tampa labiau skaitoma, nes yra sumažintos pasikartojančios konfigūracijos užduotys.
- Supaprastinta priežiūra: Turint mažiau aiškių konfigūracijų, lengviau išlaikyti ir atnaujinti programas.

pritaikymas

Nors MVVMCross labai priklauso nuo konvencijų, jis taip pat palaiko pritaikymą. Kūrėjai gali nepaisyti numatytojo elgesio, įdiegdami pasirinktinę logiką pagrindinėse klasėse, tokiose kaip „App“ ir „Sąranka“. Pvz., Galite tinkinti IOC konteinerį arba pakeisti tai, kaip sukonstruoti ir inicijuoti „ViewModels“ [9].

Apibendrinant galima pasakyti, kad MVVMCROSS įgyvendina konvenciją, o ne konfigūracija supaprastina kūrimo procesą, automatizuodamas tipines užduotis, leisdamas kūrėjams sutelkti dėmesį į unikalius jų programų aspektus. Šis požiūris padidina produktyvumą ir supaprastina programų priežiūrą, kartu užtikrinant lankstumą, reikalingą sudėtingiems scenarijams.

Citatos:
[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-application-using-the-mvvmcross-framework/
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/february/patterns-in-praktice-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.sonatitype.com/mvnref-book/reference/installation-sect-conventionconfiguration.html
[9] https://www.mvvmcross.com/documentation/advanced/customizing-using-app ir-setup
[10] https://www.mvvmcross.com/documentation/getting-started/getting-started
[11] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-hother-out-views-and-viewmodels
[12] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview