Bri*_*sio 21
我认为这里有两个答案......实际上只有一个答案是"我应该",还有一个答案是"我可以".
至于"我可以",它肯定是可能的.MVVM实际上只依赖于可以绑定到视图模型的视图.由于WinForms支持绑定,这当然是可能的.您可能需要编写一些代码以使该绑定在MVVM世界中更有用,但它(至少)在理论上是可行的.如果它运作良好,那么收益将非常大,IMO.您可以确保WinForms"View"没有UI行为,除了创建可视对象并绑定它们(在代码中,不像XAML中那样声明).WinForms对象很难测试,ViewModel很容易测试.
至于你真正的问题:"我应该",这更像是一个项目层面的决定.你的目标是什么?如果您希望使一些相当复杂的UI逻辑可测试,那么您至少可以查看它.幸运的是,还有其他模式(例如,Model-View-Presenter)具有更多的社区支持,您也可以编写一个可测试的"演示者"类.与演示者相比,我发现ViewModel更容易编写单元测试,但我认为这是个人偏好.
另外,MVVM模式主要是"Presenter模型"模式的另一个名称.您可能会查看是否有人在WinForms UI上使用"Presenter模型"取得了成功.
祝好运!
该模型-视图-视图模型(MVVM)模式是一种设计模式.根据定义,设计模式在面向对象的世界中显示了一个通用的解决方案,并且该解决方案可以应用于各种平台(WPF,WinForms,Java Swing等).我同意MVVM最适合与WPF一起使用,因为它利用了强大的绑定功能.但是,Windows窗体也支持数据绑定.
该WAF Windows窗体适配器显示了如何在Windows窗体应用程序应用MVVM模式.
Sha*_*med -1
MVVM 特别适合WPF 和silverlight 中的标记+代码和lookless 模型。我不会向 winforms 应用程序建议它,因为我认为这有点过分了。我认为 winforms 应用程序中没有比 MVP 有任何优势。然而在 WPF 和 silverlight 中它总是比 MVP 更受青睐。
在网上了解什么是 MVVM 以及它的诞生原因。这应该会进一步澄清。
| 归档时间: |
|
| 查看次数: |
39179 次 |
| 最近记录: |