我设计Silverlight 3 LOB应用程序已有三周时间,我决定使用Entity Framework,RIA Services和MVVM模式。
现在我正在研究所有胶水。我正在检查行为,ICommand,依赖属性,IoC等。
撰写本文时,Silverlight有许多框架。
Silverlight.FX
Silverstone
CSLA for Silverlight
Prism
Caliburn
这些是否必要?
您是否有过这些框架的经验?
这些框架是否仍适用于Silverlight 3?
使用这些框架的优点和缺点是什么。
说实话,我对CSLA并不感兴趣,因为我们今天没有使用它,但我把它包括在内是为了完整性。
答案 0 :(得分:4)
缺少的一件事(对于MVVM来说很重要)就是指挥。因此,您将至少完成框架提供的部分内容。
我个人不使用任何第三方框架,但使用公司内部框架,为我提供命令,并为MVVM的ViewModel部分提供基类。
答案 1 :(得分:2)
我喜欢Nikhil的Silverlight.FX,因为它包括命令,mvvm和一些“有趣”的项目,如鼠标滚动滚动行为。 Prism也很不错,我认为它的事件发布/订阅系统比Silverlight.FX的命令更强大。总的来说,我发现Prism有点麻烦(如果你计划构建一个SL3导航应用程序,那么它并不完全相关)。 Ninject是我目前最喜欢的DI。
答案 2 :(得分:1)
我对这些框架没有任何经验,但仅基于YAGNI以及Silverlight 3和RIA Services的新功能,我会坚持使用Silverlight 3和RIA Services,直到你能证明你有需要一个额外的框架。
我猜(纯猜测)新的Silverlight 3功能与.NET RIA Services一起解决了许多与这些框架相关的Silverlight缺点。
答案 3 :(得分:1)
基于我在工作中所做的事情,我确实有个人偏见,但我觉得在任何Silverlight项目中都非常有用......
如果您的应用很复杂/有多个屏幕...... 8.导航,可能还有一些MVC
1和2 - 我们希望用.NET RIA Services解决。
其他人,我试图通过Silverlight.FX提供一个实现...最初作为人们可以按原样或作为起点使用的实现,并随着时间推移它们进入平台/ SDK。
就指挥本身来说,它肯定是有用的,但在我看来并不重要,如果你有基本的绑定功能和能够通过动作将事件拼接到香草方法的能力。