【发布时间】:2019-03-11 11:31:30
【问题描述】:
WPF 中的 MVVM 模式非常强调将 ViewModel 与 UI 完全分离,理想情况下,代码隐藏文件中没有或只有很少的内容。这允许将 ViewModel 重新用于不同类型的界面。
Razor Pages 中的 MVVM 模式具有作为 ViewModel 的代码隐藏,并通过 OnGet 和 OnPost 方法与 Web 逻辑紧密耦合。
因此,精心设计的解耦 WPF ViewModel 不能用作 Web ViewModel(或者也许可以从网页模型中使用?)
有什么我遗漏的吗,为什么 WPF 中的 MVVM(解耦)和 Razor Pages 中的 MVVM(耦合)之间存在这种差异?
如果我们将 Razor Pages 方法应用于 WPF,那么代码隐藏将成为 ViewModel——我从未见过有人推荐过。
【问题讨论】:
-
据我所知,MVVM 是关于从 Views 中解耦 Models,而不是从 Views 中解耦 ViewModels :\
标签: c# .net wpf asp.net-core mvvm