为什么我应该为WPF、SL和WP7使用UI模式框架



在过去的一个月里,我一直在学习SL,现在我把重点转移到了UI模式框架上,比如Caliburn。Micro和MVVM Light。

我最近参加了一个关于将MVVM模式与WPF和SL一起使用的会议。演讲者演示了在没有任何UI框架的情况下使用模式的简单性——非常简单明了。在演示中,他建议我们创建一个基础虚拟机,以便能够使用一些通用功能(由于时间原因无法获得更多细节——请随时澄清(。这是我想要使用UI模式框架的原因吗?

我的理解是,UI模式框架有助于按照惯例实现MVVM之类的模式,从而使开发人员不必担心这一点。否则我为什么要使用UI模式框架?

提前感谢!

Rich,

对于商业应用程序-您的虚拟机最有可能需要至少2个接口:

INotifyPropertyChangedINotifyDataErrorInfo

正如Kieren所说,实现INotifyPropertyChanged非常简单,只需几行代码。CCD_ 4稍多但还不错。

MVVM Light太"轻"了,我甚至不确定重点是什么:(对我来说,了解MVVM的人不需要这个。您可以查看它的源代码来了解它的作用,因为很可能您需要在该基类上进行扩展。

Caliburn,OTOH,是一个基于约定的框架,它允许您在不指定"绑定"和其他类似魔法的情况下进行绑定。你需要决定你是否真的需要它…

如果您正在处理繁重的,比如具有大量表单和内容的LOB应用程序,我强烈建议您研究PRISM。它不是MVVM框架,而是构建复杂的复合UI的框架。学习曲线将是陡峭的,不像MVVMLight:(但它将覆盖您的业务应用程序中的大多数基础。

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

如果你只需要使用INotifyPropertyChanged,也许还需要一个快速的RelayCommand,那就自己写吧(因为这是大约5行代码,几个类,总共大约30行(。

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

最新更新