Ogled predstaviteljev v MVVMcross igrajo ključno vlogo pri upravljanju, kako so modeli ogledov predstavljeni v aplikaciji. Delujejo kot posredniki med plastjo modela pogleda in dejanskim uporabniškim vmesnikom, kar omogoča prilagodljivo in platformo specifično predstavitev pogledov.
Vloga predstaviteljev
1. Navigacija in predstavitev: Pogled predstavniki obravnavajo zahteve iz modelov ogled, da se pomaknete do novih pogledov ali spremenite predstavitev obstoječih. Odločijo se, kako prikazati te poglede na podlagi zmogljivosti platforme in zahtevam aplikacije [1] [2].
2. Izvajanje, specifično za platformo: Ker se predstavniki neposredno ukvarjajo s plastjo View, so sami po sebi specifični za platformo. To razvijalcem omogoča, da predstavitev prilagodijo glede na vrsto naprave, na primer z uporabo zavihkov na iOS in Android, vendar vrtilni pogled na Windows Phone [1].
3. Prilagoditev in prilagodljivost: predstavitelji omogočajo razvijalcem, da izvajajo različne strategije predstavitve za različne velikosti zaslona ali orientacije. Na primer, na majhnem zaslonu telefona se lahko seznam in podrobnosti prikažejo na ločenih zaslonih, medtem ko so na tabličnem računalniku prikazani drug ob drugem s pomočjo razdeljenega pogleda [1].
4. Uporaba predstavitvenih vrednosti: Predstavniki lahko prejmejo dodatne informacije prek `PresentationValues", ki so del "mvxviewModelRequest". To omogoča, da modeli ogleda predstavijo namige predstavitelju o tem, kako je treba predstaviti pogled, na primer čiščenje navigacijskega sklada po operaciji prijave [7].
5. Privzeti in predstavitelji po meri: MVVMcross ponuja privzete predstavitelje za vsako platformo, vendar lahko razvijalci ustvarijo tudi predstavitelje po meri, da zadovoljijo določene potrebe aplikacij. Predstavniki po meri lahko preglasijo privzeto vedenje za izvajanje edinstvenih navigacijskih vzorcev ali predstavitvenih stilov [2] [4].
Ključne metode predstaviteljev
- `show (mvxviewModelRequest zahteva)`: Ta metoda se imenuje, ko se iz modela pogleda prikliče `showViewModel ()`. Konstruira in prikaže ustrezen pogled na podlagi podrobnosti zahteve [1].
- `ChangePresentation (MVXPresentationHint HITT)`: Ta metoda omogoča spremembe predstavitve, ki ne vključujejo prikazovanja novega modela pogleda, na primer zapiranje pogleda ali spreminjanje njegovega načina predstavitve [1].
Prednosti uporabe predstaviteljev pogleda
- ločitev: Predstavniki pomagajo ločiti logiko modela pogleda iz predstavitve uporabniškega vmesnika, kar omogoča čistejšo in bolj vzdržno kodo.
-Navzkritna doslednost: Kljub izvajanjem, ki so specifične za platformo, predstavniki zagotavljajo, da se modeli ogledov obnašajo dosledno na različnih platformah.
- Prilagoditev: nudijo prilagodljiv način za prilagoditev uporabniškega vmesnika različnim napravam in velikosti zaslona, ne da bi spremenili logiko modela View.
Če povzamemo, so predstavitelji predstaviteljev v MVVMcrossu bistveni za upravljanje pogledov na različnih platformah, ki nudijo prožnost, prilagoditev in čisto ločevanje pomislekov med modelom pogleda in uporabniškim slojem.
Navedbe:[1] https://gregshackles.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/dember/mvpvm-design-pattern-the-model-view-presenter-viewModel-design-PATTERN-za-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-implement-thoughts
[7] https://gregshackles.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