Zobrazit přednášející v MVVMCross hrají klíčovou roli při řízení toho, jak jsou modely pohledu prezentovány v aplikaci. Působí jako zprostředkovatelé mezi vrstvou modelu pohledu a skutečným uživatelským rozhraním, což umožňuje flexibilní a prezentaci názorů specifických pro platformu.
Role View Presensers
1. Navigace a prezentace: Zobrazit přednášející zpracovávají požadavky z modelů pohledu k přechodu na nové pohledy nebo změnu prezentace stávajících. Rozhodnou se, jak tyto názory zobrazit na základě schopností platformy a požadavcích aplikace [1] [2].
2. Implementace specifická pro platformu: Protože přednášející se zabývají přímo vrstvou pohledu, jsou ze své podstaty specifické pro platformu. To umožňuje vývojářům přizpůsobit prezentaci na základě typu zařízení, například použití karet na iOS a Android, ale otočný pohled na Windows Phone [1].
3. Přizpůsobení a flexibilita: Přednášející umožňují vývojářům implementovat různé strategie prezentace pro různé velikosti nebo orientace obrazovky. Například na obrazovce malého telefonu lze seznam a podrobnosti zobrazovat na samostatných obrazovkách, zatímco na tabletu by se mohly zobrazovat vedle sebe pomocí rozděleného pohledu [1].
4. Použití prezentačních hodnot: Prezenderátoři mohou obdržet další informace prostřednictvím „PrezentationValues“, které jsou součástí `mvxViewModelRequest`. To umožňuje modelům pohledu předávat rady přednášejícímu o tom, jak by měl být pohled prezentován, jako je vymazání navigačního zásobníku po přihlašovací operaci [7].
5. Výchozí a vlastní přednášející: MVVMCross poskytuje výchozí přednášející pro každou platformu, ale vývojáři mohou také vytvořit vlastní moderátory, aby vyhovovali konkrétním potřebám aplikací. Vlastní přednášející mohou přepsat výchozí chování při implementaci jedinečných navigačních vzorců nebo prezentačních stylů [2] [4].
Klíčové metody pohledu přednášející
- `Show (MVXViewModelRequest Request)`: Tato metoda se nazývá, když `ShowViewModel ()` je vyvolán z modelu View. Konstruuje a zobrazuje odpovídající pohled na základě podrobností o požadavku [1].
- `Změna prezentace (nápověda MVXPresentationHint)`: Tato metoda umožňuje změny prezentace, které nezahrnují zobrazení nového modelu pohledu, jako je uzavření pohledu nebo změna jeho prezentačního režimu [1].
Výhody používání přednášejících pohledů
- Odpojení: Přednášející pomáhají rozepsat logiku modelu pohledu z prezentace uživatelského rozhraní, což umožňuje čistší a udržovatelnější kód.
-Konzistence mezi platformami: Navzdory implementacím specifickým pro platformu přednášející zajišťují, že modely pohledu se chovají důsledně na různých platformách.
- Přizpůsobení: Poskytují flexibilní způsob, jak přizpůsobit uživatelské rozhraní různým zařízením a velikostem obrazovky bez změny logiky modelu pohledu.
Stručně řečeno, zobrazení moderátorů v MVVMCrossu jsou nezbytné pro řízení toho, jak jsou zobrazení prezentovány na různých platformách, nabízejí flexibilitu, přizpůsobení a čisté oddělení obav mezi modelem pohledu a vrstvami uživatelského rozhraní.
Citace:[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/deCember/mvpvm-design-therel-therel-view-fiewModel-design-for-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-hindts
[7] https://gregshackles.com/presenters-in-mvvmcross-using-resentation-values/
[8] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms-view-resenter
[9] https://www.gatling.xyz/explaining-model-view-presenter/
[10] https://www.mvvmcross.com/documentation/platform/android/android-view-presenter