【问题标题】:Implementing your own MVVM vs. using an MVVM framework? [closed]实现自己的 MVVM 与使用 MVVM 框架? [关闭]
【发布时间】:2011-05-23 14:26:44
【问题描述】:

我刚开始学习.net、wpf、wcf和mvvm,我的问题是:

实现自己的 MVVM 还是使用 MVVM 框架,如 MVVM Light 工具包,Prism 更好(它太先进并且具有统一框架(不确定它对开发有什么帮助))?

【问题讨论】:

  • 如果您刚刚开始学习 .Net,那么您应该考虑的最后一件事是重新发明由一些非常有经验的人创建的框架。
  • 我提出的这个类似问题对 MVVM 或 PRISM 问题也有一些很好的答案 - stackoverflow.com/questions/6251821/…

标签: .net wpf mvvm


【解决方案1】:

如果您真的想了解 MVVM 的内部工作原理,请尝试自己实现。

如果您已经了解这些概念并且不觉得有必要重新发明轮子,请使用框架。棱镜是一个不错的选择……去吧。

【讨论】:

  • 感谢您的快速回复。我只是尝试从头开始实现 MVVM。我会说我得到了这个概念,除了一些小东西(我需要更深入地挖掘),但 MVVM 作为一个概念我得到了它。但我现在应该选择什么?我自己的 MVVM/Prism/Light,考虑到应用程序不是一个大应用程序。
  • @NSingla - 那么除非你试图挑战自己创建一个 MVVM 框架来与 Prism 竞争......只要使用一个框架!没有理由让自己的生活变得更加艰难。
  • 太好了,谢谢我明白你的意思。如果我跳入 Prism,在尝试实现 MVVM 之前是否需要了解 Unity/MEF?
  • 您应该对 IoC 有所了解,所以是的,它会有所帮助;)
【解决方案2】:

我不会重新发明轮子,评估框架,只有当那些不满足您的要求时,您才应该考虑编写自己的框架。

【讨论】:

  • 这是正确的,它不仅仅适用于 MVVM。除非您正在增加价值、重用、重用、重用并专注于您的核心业务逻辑,而不是其他人已经完成的基础设施。
【解决方案3】:

我建议看看这个演讲:Build Your Own MVVM Framework

(如果你还没有)

我决定先阅读各种框架的一些资源,然后我下载了一些基于Caliburn Micro的示例项目以了解它们是如何工作的

Caliburn 是一个很棒的框架,它提供了您开始和深入了解 MVVM 所需的一切

我建议你开始使用它,也许,当你觉得足够舒服时,你可以尝试自定义它或简化它以适合你的需求/风格,然后,如果你有时间,你会构建你自己的=)

编辑

MediaOwl 是我发现的最好的开源项目,可以看到 Caliburn Micro 的良好实施,如果你最终会选择这个框架,请务必检查一下

【讨论】:

  • 实施和工作是否比 Prism/Light 更容易?
  • japf.fr/silverlight/mvvm/index.html 这个比较工具表明 Caliburn micro 不是很好的选择,根据这个,Caliburn 或 Light 应该是选择。虽然列表中没有 Prism。
  • Caliburn Micro 很简单,但并不是一个真正的基础框架,它强大是因为它具有良好的功能,MVVM Light 非常基础,它有助于理解模式。确实,Caliburn Micro 没有您在 MVVVM 中需要的所有功能,但它比完整版的 Caliburn 更容易修补/扩展。这是我的印象,当我将框架的源代码包含到我的项目中以控制它时,如果我需要修改一些行为以更好地满足我的需求,或者修改一些约定
猜你喜欢
  • 2011-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-27
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多