为什么我要为WPF,SL和WP7使用UI模式框架?

时间:2011-10-16 19:07:33

标签: wpf silverlight mvvm mvvm-light caliburn.micro

过去一个月我一直在学习SL,现在我将注意力转移到了UI Pattern Frameworks,如Caliburn.Micro和MVVM-Light。

我最近参加了一个关于在WPF和SL上使用MVVM模式的会议。演示者演示使用模式plain,没有任何UI框架 - 非常简单和直接。在演示文稿中,他建议我们创建一个基本VM,以便能够使用一些常用功能(由于时间原因无法获得更多细节 - 请随时澄清)。这是一个原因为什么我要使用UI模式框架?

我的理解是,UI Pattern Frameworks按照惯例帮助实现MVVM之类的模式,从而允许开发人员不必担心这一点。为什么我还会使用UI模式框架?

提前致谢!

2 个答案:

答案 0 :(得分:3)

富,

对于商业应用 - 您的VM最有可能需要至少2个接口:

INotifyPropertyChangedINotifyDataErrorInfo

就像Kieren所说的那样 - 实现INotifyPropertyChanged非常简单,只需几行代码。 INotifyDataErrorInfo稍微多一点但不错。

MVVM Light是如此“轻盈”我甚至不确定这是什么意思:)对我来说 - 了解MVVM的人不需要这个。您可以查看它的源代码以查看它的功能,因为您很可能需要扩展该基类。

Caliburn,OTOH,是一个基于约定的框架,允许你绑定而不指定“Bindings”和其他类似的魔法。你需要决定你是否真的需要它......

如果您正在处理之类的内容,例如LOB应用程序中有很多表单和内容 - 我强烈建议您查看PRISM。它不是MVVM框架,它是构建复杂复合UI的框架。学习曲线将是陡峭的,不像MVVMLight :)但它将涵盖业务应用程序中的大多数基础。

答案 1 :(得分:2)

使用UI模式框架的唯一原因是它提供了您需要或想要的功能。

如果您只需要使用INotifyPropertyChanged并且可能需要快速RelayCommand,请自行编写(因为它有~5行代码,几个类,总共~30行)。

如果您需要更多,请使用其中一个预构建的框架。