3

我在这里有一个设计问题我已经看到了 MVVM 轻量级实现和一个非常简单的 Micorsoft MVVM 示例 for windows phone LINK,现在的问题是什么是理想的前进方式

MVVM Light 或非常简单的 Microsoft 方式(如上面的链接),应用程序开发是长期(企业类)使用,我需要决定走哪条路,我对利弊有点困惑

  1. 如果我有 6 页,哪个是更好的使用方式?

  2. 在简单 MS 方式的情况下,我如何轻松访问另一个 ViewModel 的公共数据,使用 MVVM
    灯,我们可以拥有 IOC 服务。

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

  4. 哪个性能更好,速度更快?

  5. 对于第一次查看应用程序的人来说,代码复杂性和维护更少?

所以请有人帮助我获得答案或理解事情。非常感谢您的帮助!!!

4

1 回答 1

10

首先,MVVM Light是一个有助于开始使用MVVM 模式的框架。你不需要使用 MVVM Light 来实现 MVVM 模式,它只是让它的一部分变得更容易。

所以它有点使你的几个问题无效,但由于我正在使用 MVVM Light 完成我的 WP8 应用程序,假设你使用该框架(我推荐它),我会回答它们。

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

我知道这实际上并不能回答您的问题,但是根据我之前提到的内容,您的问题没有意义。

希望这可以帮助!

于 2013-01-08T05:03:42.233 回答