Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Koks yra „View“ pranešėjų vaidmuo MVVMCROSS


Koks yra „View“ pranešėjų vaidmuo MVVMCROSS


„MVVMCross“ laidų vedėjai vaidina lemiamą vaidmenį valdant, kaip peržiūros modeliai pateikiami programoje. Jie veikia kaip tarpininkai tarp „View Model“ sluoksnio ir tikrosios vartotojo sąsajos, leidžiančios lanksčiai ir platformai pristatyti rodinius.

Vaizdo pranešėjų vaidmuo

1. Naršymas ir pristatymas: Peržiūrėkite pranešėjus pateikiami užklausos iš „View“ modelių, kad pereitų į naujus rodinius arba pakeistų esamų. Jie nusprendžia, kaip parodyti šiuos rodinius pagal platformos galimybes ir programos reikalavimus [1] [2].

2. Konkrečios platformos įgyvendinimas: kadangi pranešėjai tiesiogiai dirba su vaizdo sluoksniu, jie iš esmės yra konkrečios platformai. Tai leidžia kūrėjams pritaikyti pristatymą pagal įrenginio tipą, pavyzdžiui, naudojant „iOS“ ir „Android“ skirtukus, tačiau „Windows Phone“ vaizdas [1].

3. Tinkinimas ir lankstumas: pranešėjai suteikia galimybę kūrėjams įgyvendinti skirtingas pateikimo strategijas įvairiems ekrano dydžiams ar orientacijoms. Pavyzdžiui, mažame telefono ekrane sąrašas ir informacija gali būti rodomi atskiruose ekranuose, o planšetiniame kompiuteryje jie gali būti rodomi iš šono, naudojant padalytą vaizdą [1].

4. Pateikimo verčių naudojimas: Pristatytojai gali gauti papildomos informacijos naudodamiesi „PresentationValues“, kurie yra „MVXViewModelRequest“ dalis. Tai leidžia rodinio modeliams perduoti pranešėjams užuominų apie tai, kaip reikėtų pateikti vaizdą, pavyzdžiui, išvalyti navigacijos krūvą po prisijungimo operacijos [7].

5. Numatytieji ir pasirinktiniai pranešėjai: „MVVMCross“ teikia numatytuosius kiekvienos platformos vedėjus, tačiau kūrėjai taip pat gali sukurti pasirinktinius pranešėjus, kad patenkintų konkrečius programų poreikius. Pasirinktiniai pranešėjai gali nepaisyti numatytojo elgesio, kad įgyvendintų unikalius navigacijos modelius ar pateikimo stilius [2] [4].

Pagrindiniai žiūrovų metodai

- „Rodyti (mvxviewmodelrequest užklausa)`: Šis metodas vadinamas, kai „showviewmodel ()“ yra iškviečiamas iš rodinio modelio. Jis konstruoja ir rodo atitinkamą rodinį, remdamasis informacija užklausos [1].

- „ChangePresentation“ („MVXPRESentationHint“ užuomina) `: Šis metodas leidžia pateikti pakeitimus, kuriuose nėra naujo rodinio modelio rodymo, pavyzdžiui, uždaryti rodinį ar pakeisti jo pateikimo režimą [1].

Naudojant „View“ pranešėjus

- Atsiejimas: pranešėjai padeda atskirti „View Model Logic“ iš UI pristatymo, leidžiančios valyti ir palaikyti labiau prižiūrimą kodą.
-Kryžminio platformos nuoseklumas: Nepaisant konkrečios platformos įgyvendinimo, pranešėjai užtikrina, kad „View“ modeliai nuosekliai elgiasi įvairiose platformose.
- Tinkinimas: Jie yra lankstus būdas pritaikyti vartotojo sąsają skirtingiems įrenginiams ir ekrano dydžiams, nepakeisdami „View“ modelio logikos.

Apibendrinant galima pasakyti, kad „MVVMCross“ laidų vedėjai yra būtini norint valdyti, kaip vaizdai pateikiami įvairiose platformose, siūlantys lankstumą, pritaikymą ir švarią susirūpinimą keliančių klausimų atskyrimą tarp vaizdo modelio ir UI sluoksnių.

Citatos:
[1] https://greghackles.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.stackexchange.com/questions/60774/model-view-presenter-implementation-soughts
[7] https://greghackles.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