MVVM使用什么?Windows Phone 8

3
我有一个设计问题需要解决,我看到了MVVM light实现和一个非常简单的微软Windows Phone MVVM示例链接,现在问题是未来的理想方式是什么?
MVVM Light还是非常简单的微软方式(如上述链接),应用程序开发是长期的(企业级)使用,我需要决定走哪条路线,我在利弊之间有些困惑。
以下是需要回答或理解的问题:
  1. 如果我有6个页面,使用哪种方式更好?

  2. 在使用简单的微软方式时,如何轻松地访问另一个ViewModel的公共数据,在MVVM Light中,我们可以拥有IOC服务。

  3. 如何处理应用程序激活或停用事件?

  4. 哪个性能更好、更快?

  5. 对于第一次查看应用程序的任何人来说,代码复杂度和维护方面是否较少?

所以,希望有人能帮我回答问题或理解事情。真的很感谢你的帮助!

目前这个问题有点开放式的。你能稍微明确一下你的问题吗? - Alastair Pitts
我应该使用MVVM Light还是简单的MS方式(如链接中所述)? - Ashwin Nagarajan
1个回答

10

首先,MVVM Light是一个框架,帮助你快速上手MVVM模式。你不需要使用MVVM Light来实现MVVM模式,它只是使其中的部分变得更加容易。

因此,它有点无效化了你的一些问题,但是由于我正在使用MVVM Light完成我的WP8应用程序,所以我将回答这些问题,假设你使用该框架(我推荐它)。

  1. 处理6个页面很容易。你应该学习如何使用ViewModelLocator和Messaging来解耦页面、导航和它们关联的视图模型。
  2. 我在我的ViewModelLocator中使用了Ninject进行IOC/DI。
  3. 这有点繁琐,但我认为在这种情况下打破MVVM模式是可以的,因为这些方法在App.xaml.cs中。
  4. MVVM性能显然会慢一些,但除非你做得很差,否则你永远不会注意到它。值得记住的是,当调试器没有连接时,应用程序总是运行得更快。
  5. 我认为MVVM是保持关注点和责任分离的一个很好的模式。

我知道这实际上并没有回答你的问题,但考虑到我之前提到的内容,你的问题并没有意义。

希望这有所帮助!


还有一个问题,如何处理数据验证部分? - Ashwin Nagarajan
谷歌搜索“数据验证MVVM”。有很多关于如何进行数据验证的文章。还可以搜索“数据验证Windows Phone”。 - Alastair Pitts

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接