过去一个月我一直在学习SL,现在我将注意力转移到了UI Pattern Frameworks,如Caliburn.Micro和MVVM-Light。
我最近参加了一个关于在WPF和SL上使用MVVM模式的会议。演示者演示使用模式plain,没有任何UI框架 - 非常简单和直接。在演示文稿中,他建议我们创建一个基本VM,以便能够使用一些常用功能(由于时间原因无法获得更多细节 - 请随时澄清)。这是一个原因为什么我要使用UI模式框架?
我的理解是,UI Pattern Frameworks按照惯例帮助实现MVVM之类的模式,从而允许开发人员不必担心这一点。为什么我还会使用UI模式框架?
提前致谢!
答案 0 :(得分:3)
富,
对于商业应用 - 您的VM最有可能需要至少2个接口:
INotifyPropertyChanged
和INotifyDataErrorInfo
就像Kieren所说的那样 - 实现INotifyPropertyChanged
非常简单,只需几行代码。 INotifyDataErrorInfo
稍微多一点但不错。
Caliburn,OTOH,是一个基于约定的框架,允许你绑定而不指定“Bindings”和其他类似的魔法。你需要决定你是否真的需要它......
如果您正在处理重之类的内容,例如LOB应用程序中有很多表单和内容 - 我强烈建议您查看PRISM。它不是MVVM框架,它是构建复杂复合UI的框架。学习曲线将是陡峭的,不像MVVMLight :)但它将涵盖业务应用程序中的大多数基础。
答案 1 :(得分:2)
使用UI模式框架的唯一原因是它提供了您需要或想要的功能。
如果您只需要使用INotifyPropertyChanged
并且可能需要快速RelayCommand
,请自行编写(因为它有~5行代码,几个类,总共~30行)。
如果您需要更多,请使用其中一个预构建的框架。