Silverlight的各种MVVM框架的优点和缺点是什么?

时间:2010-10-20 04:38:34

标签: silverlight mvvm

Silverlight的各种MVVM框架有哪些优点和缺点?

我之前已经问过类似的问题,但是这个领域正在快速发展,所给出的答案很快就过时了。

我特意寻找对以下框架的简要评估 -

  • 棱镜
  • 卡利
  • 束带
  • Goldlight
  • MFedMVVM
  • MVVM Light
  • nRoute
  • 结构化MVVM

......加上任何人都知道的其他人。

2 个答案:

答案 0 :(得分:2)

任何框架的缺点都是一样的:它是别人的代码,而且是别人对模式的实现。你正在将解决方案的控制权交给其他人的代码。如果你对此感到满意,那就一定要去吧。

但MVVM是一个非常简单的模式。实现它实际上是微不足道的; WPF和Silverlight已经融入了大部分核心组件,您需要进行绑定工作,从而使MVVM工作。

我发现我真正需要做MVVM的是一个跨类消息传递的事件聚合器,一个基本视图模型类来处理重复的编码INotifyPropertyChanged,然后是一个IoC容器来连接我的依赖项。就是这样。

在我使用组件应用程序UI块之后,我倾向于回避其他任何人的“框架”。特别是如果我能在短时间内自己编写核心位。

我们在目前的工作中对我们的项目进行MVVM,而我的基础架构实际上是几个类和接口,正如我上面所述。

答案 1 :(得分:1)

我不能代表列出的其他框架,但我可以说我在MVVM Light Toolkit上取得了很大的成功。我很同意你可以在需要时“自己动手”的框架,但MVVM Light很小而且不引人注目;它不会接管您的应用程序架构,只是提供了MVVM的一些基本必需品:

  1. RelayCommand - 几乎可以用于任何事情的命令类

  2. 消息传递 - 能够进行消息传递和消息聚合<​​/ p>

  3. ViewModelBase - 实现INotifyPropertyChanged等......

  4. ViewModelLocator - 一个将ViewModel注入视图的简单实用程序。

  5. 我认为由组件应用程序UI块(及其Silverlight表兄,Prism)引起的对框架的反应应该由一个框架来缓解,就像这个框架一样轻巧和简单。