我正在努力使用WPF和与MVVM模式密切相关的Prism框架。我已经准备好了很多关于MVVM的不同描述,例子和讨论,每一个都略有不同,让我有点困惑。
我的理解如下:
MVVM模式有3个部分: -
我不确定的是:
提前致谢
答案 0 :(得分:3)
绝对不是。除非他们这样做。如果您的应用程序很简单,那么可以在View,ViewModel或Model中处理所有内容。如果您的应用程序很复杂,并且最佳实践要求您将逻辑分解为它们自己的类型(通信逻辑,存储库逻辑等),那么就没有阻止您。 MVVM只关注View中的以视图为中心的逻辑,ViewModel中的应用程序逻辑,以及存储两者之间传输信息的方法。
ViewModel的任务是解释用户操作并准备模型中的逻辑结果,以便View可以向用户显示此信息。在某些情况下,模型本身具有某种逻辑以便它可以响应用户操作。然而,根据我的经验,这种迷你ViewModel-Model设计是对缺乏经验的开发人员的设计决策的反应。一旦你获得了MVVM的真正悬念,除了验证逻辑之外,你通常不必(或想要)在模型中放置任何代码。
答案 1 :(得分:0)
将Model,ViewModel和View视为分别处理业务,应用程序流和表示的逻辑层。例如,ViewModel 类可以将复杂或可重用的UI交互委托给与任何特定视图不对应但仍属于ViewModel layer 的单独服务。
是的,ViewModel位于UI和Model之间。