Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jaké jsou alternativy k používání přednášejících pohledů v MVVMCross


Jaké jsou alternativy k používání přednášejících pohledů v MVVMCross


V MVVMCrossu hrají moderátoři View klíčovou roli při správě prezentace viewModelů na různých platformách. Pokud však hledáte alternativy nebo způsoby, jak přizpůsobit prezentační logiku nad rámec toho, co přednášející zobrazují, zde jsou některé přístupy:

1.. Přizpůsobení přednášejících zobrazení **

Existující přednášející zobrazení můžete rozšířit nebo upravit jejich podtřídou nebo implementací rozhraní `IMVXViewPresenter`. To vám umožní přizpůsobit logiku prezentace konkrétním potřebám, jako je manipulace s různými velikostmi obrazovky nebo orientace na různých platformách [1] [3]. Můžete například chtít zobrazit ViewModel jinak na telefonu versus tablet.

2. Používání prezentace **

MVVMCross poskytuje mechanismus nazývaný prezentační náznaky (`mvxpresentationHint`), který vám umožní vyžádat si změny v uživatelském rozhraní, aniž by nutně ukázal nový ViewModel. Můžete vytvořit vlastní rady pro signalizaci specifických akcí přednášejícímu, jako je uzavření viewModel nebo úprava navigačního zásobníku [1] [3]. Tento přístup je užitečný pro zpracování komplexních interakcí uživatelského rozhraní, které nejsou pokryty výchozími přednášejícími.

3. Alternativní frameworky MVVM **

Pokud hledáte širší změnu ve vaší architektuře MVVM, můžete zvážit alternativní rámce, které nabízejí různé přístupy k prezentaci a navigaci. Některé populární alternativy zahrnují:
- Prism: Prism, známý pro svou robustní podporu ve formách WPF, Xamarin a platformy UNO, poskytuje komplexní rámec pro budování udržovatelných aplikací [4].
- ReactiveUi: Tento rámec se zaměřuje na funkční reaktivní programování, což umožňuje abstrahovanější a testovatelnější logiku UI [4].
- Caliburn.Micro: Lehký rámec, který podporuje MV* vzory napříč platformami XAML, zdůrazňuje rychlý vývoj bez obětování kvality kódu [4].

4. Vlastní navigační logika **

Místo spoléhání se pouze na přednášející zobrazení můžete implementovat vlastní navigační logiku přímo do své aplikace. To by mohlo zahrnovat použití navigačních API specifických pro platformu nebo vytvoření vlastní navigační služby, která se integruje s navigačními funkcemi Viewmodel-to-ViewModel MVVMCross [6].

5. Dialogy a Flyouts **

Pro scénáře, kde musíte zobrazit obsah mimo standardní navigační tok, podporuje MVVMCross pomocí dialogů a flyoutů. Mohou být přizpůsobeny tak, aby vyhovovaly konkrétním potřebám prezentace a nabízejí alternativu k tradiční navigaci založené na stránce [9].

Stručně řečeno, zatímco přednášející z zobrazení jsou v MVVMCross výkonným nástrojem, můžete je přizpůsobit nebo rozšířit, použít prezentační rady pro dynamické změny uživatelského rozhraní nebo prozkoumat alternativní rámce MVVM a vlastní navigační přístupy k dosažení požadované prezentační logiky pro vaši aplikaci.

Citace:
[1] https://www.mvvmcross.com/documentation/fundamentals/view-presenters
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[3] https://gregshackles.com/presenters-in-mvvmcross-a-primer/
[4] https://dotnet.libhunt.com/mvvmcross-alternatives
[5] https://www.mvvmcross.com/documentation/advanced/custom-data-binding
[6] https://stackoverflow.com/questions/18735497/mvvmcross-navigation-on-creen
[7] https://stackoverflow.com/questions/22601018/what-are-the-alternatives-of-module-view-presenTermvp-design-pattern
[8] https://yanxiaodi.gitbook.io/xamarin-mvvmcross-Handbook/using-mvvmcross-to-create-your-first-xamarin-app/creating-the-ios-project/understanding-the-data-binding-Syntax
[9] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup