Silverlight的各种MVVM框架有哪些优点和缺点?
我之前已经问过类似的问题,但是这个领域正在快速发展,所给出的答案很快就过时了。
我特意寻找对以下框架的简要评估 -
......加上任何人都知道的其他人。
答案 0 :(得分:2)
任何框架的缺点都是一样的:它是别人的代码,而且是别人对模式的实现。你正在将解决方案的控制权交给其他人的代码。如果你对此感到满意,那就一定要去吧。
但MVVM是一个非常简单的模式。实现它实际上是微不足道的; WPF和Silverlight已经融入了大部分核心组件,您需要进行绑定工作,从而使MVVM工作。
我发现我真正需要做MVVM的是一个跨类消息传递的事件聚合器,一个基本视图模型类来处理重复的编码INotifyPropertyChanged,然后是一个IoC容器来连接我的依赖项。就是这样。
在我使用组件应用程序UI块之后,我倾向于回避其他任何人的“框架”。特别是如果我能在短时间内自己编写核心位。
我们在目前的工作中对我们的项目进行MVVM,而我的基础架构实际上是几个类和接口,正如我上面所述。
答案 1 :(得分:1)
我不能代表列出的其他框架,但我可以说我在MVVM Light Toolkit上取得了很大的成功。我很同意你可以在需要时“自己动手”的框架,但MVVM Light很小而且不引人注目;它不会接管您的应用程序架构,只是提供了MVVM的一些基本必需品:
RelayCommand - 几乎可以用于任何事情的命令类
消息传递 - 能够进行消息传递和消息聚合</ p>
ViewModelBase - 实现INotifyPropertyChanged等......
ViewModelLocator - 一个将ViewModel注入视图的简单实用程序。
我认为由组件应用程序UI块(及其Silverlight表兄,Prism)引起的对框架的反应应该由一个框架来缓解,就像这个框架一样轻巧和简单。