Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 观点演示者在MVVMCross中的作用是什么


观点演示者在MVVMCross中的作用是什么


查看MVVMCross中的演示者在管理如何在应用程序中呈现视图模型中起着至关重要的作用。它们充当视图模型层和实际UI之间的中间人,从而允许观点的灵活和平台特定的呈现。

##观点演示者的角色

1。导航和演示文稿:查看演示者从视图模型中处理请求,以导航到新视图或更改现有的视图。他们决定如何根据平台的功能和应用程序的要求[1] [2]来显示这些视图。

2。特定于平台的实现:由于演示者直接处理视图层,因此它们本质上是平台特定的。这使开发人员可以根据设备类型自定义演示文稿,例如使用iOS和Android上的选项卡,但在Windows Phone上使用了枢轴视图[1]。

3.自定义和灵活性:主持人使开发人员能够为各种屏幕尺寸或方向实施不同的演示策略。例如,在小电话屏幕上,可以在单独的屏幕中显示列表和详细信息,而在平板电脑上,可以使用拆分视图并排显示它们[1]。

4。使用演示值:演示者可以通过

'''''everentationValues''获得其他信息,这些信息是``MvxViewModelrequest'的一部分。这允许查看模型向主持人传递有关如何显示视图的提示,例如在登录操作后清除导航堆栈[7]。

5。默认和自定义演示者:MVVMCross为每个平台提供默认的演示者,但是开发人员还可以创建自定义演示者以满足特定的应用程序需求。自定义演示者可以覆盖默认行为以实现唯一的导航模式或演示样式[2] [4]。

##关键视图演示者

- `show(mvxviewModelRequest request)`:从视图模型调用`showviewModel()时调用此方法。它根据请求详细信息[1]构建并显示相应的视图。

- `change presentation(mvxpresentationhint提示)`:此方法允许表示不涉及显示新视图模型的演示更改,例如关闭视图或更改其演示模式[1]。

##使用查看主持人的好处

- 解耦:主持人帮助将视图模型逻辑与UI演示文稿解除,从而提供更清洁,更可维护的代码。
- 跨平台一致性:尽管实现了平台,但演示者确保视图模型在不同平台上始终如一。
- 自定义:它们提供了一种灵活的方法,可以使UI适应不同的设备和屏幕尺寸,而无需更改视图模型逻辑。

总而言之,MVVMCross中的观点演示者对于管理如何在不同平台上呈现视图,提供灵活性,自定义以及视图模型和UI层之间的关注点分离至关重要。

引用:
[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-pattern-pattern-pattern-the-model-model-view-presenter-viewmodel-viewmodel-design-design-design-pattern-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-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