我为什么要使用MVVM?

时间:2012-09-20 07:07:40

标签: c# .net wpf mvvm

  

可能重复:
  Why use MVVM?

我正在尝试在我的WPF项目中实现MVVM,但是自从我开始以来,我发现很难通过所期望的任务完成。

我正在使用Caliburn Micro for MVVM,我发现很难从ViewModel调用其他其他ViewModel属性,也无法处理像TextBox的GotFocus这样的控件事件。

MVVM真的比CodeBehind更好,我没有使用MVVM进行测试。

请帮忙。

1 个答案:

答案 0 :(得分:2)

MVVM简化了自动化测试,它可以帮助您通过关注点分离来保持代码清洁。

如果你不进行自动化测试,主要还是第二个原因(还有其他一些小优势,但这是IMO的主要优势)。如果您在使用纯MVVM时遇到困难,可能需要考虑使用混合方法:在视图模型中尽可能多地保留,但如果它使代码更具可读性,则不要害怕使用代码。

不要忘记:MVVM是一个工具,而不是目标!它应该让你的生活更轻松,而不是更难。如果你为了避免使用单行GotFocus处理程序而必须在两层间接写入50行样板代码,那么你可能会过度使用它。