6

我花了三周时间设计 Silverlight 3 LOB 应用程序,我决定使用实体框架、RIA 服务和 MVVM 模式。

现在我正在调查所有的胶水。我正在检查行为、ICommand、依赖属性、IoC 等。

在撰写本文时,有许多 Silverlight 框架。

Silverlight.FX用于 Silverlight Prism Caliburn的
Silverstone
CSLA

这些有必要吗?
你有使用这些框架的经验吗?
这些框架是否仍然适用于 Silverlight 3?
使用这些框架中的任何一个的优点和缺点是什么。

老实说,我对 CSLA 并不是很感兴趣,因为我们今天不使用它,但为了完整起见,我将它包括在内。

4

4 回答 4

4

仍然缺少的一件事(这对 MVVM 很重要)是指挥。因此,您将至少滚动框架为自己提供的部分内容。

我个人不使用任何第 3 方框架,但确实使用了公司内部框架,该框架为我提供了指挥权,并为 MVVM 的 ViewModel 部分提供了基类。

于 2009-04-22T08:31:40.563 回答
2

我喜欢 Nikhil 的 Silverlight.FX,因为它包括命令、mvvm 和一些“有趣”的项目,如鼠标滚轮滚动行为。Prism也不错,我觉得它的事件发布/订阅系统比Silverlight.FX的指挥要强大。总的来说,我觉得 Prism 有点麻烦(如果你打算构建一个 SL3 导航应用程序,这并不完全相关)。Ninject 是我目前最喜欢的 DI。

于 2009-05-04T18:54:48.143 回答
1

我对这些框架没有任何经验,但仅基于YAGNI以及 Silverlight 3 和 RIA 服务的新颖性,我会坚持使用 Silverlight 3 和 RIA 服务,直到您可以证明您需要额外的框架。

我猜想(纯属猜测)新的 Silverlight 3 功能与 .NET RIA 服务一起解决了这些框架解决的许多相同的 Silverlight 缺点。

于 2009-04-22T03:57:49.160 回答
1

基于我在工作中所做的工作,我当然有个人偏见,但我发现在任何 Silverlight 项目中都非常有用的功能......

  1. 数据
  2. 认证/安全
  3. 触发器/动作(让您的大部分观点保持声明性)
  4. 行为(将视图功能封装到可附加到控件的可重用组件中)
  5. 查看模型/MVVM(将视图与代码分开)
  6. 简单的 IoC - 将依赖项注入到您的视图模型中
  7. 效果和过渡

如果您的应用程序很复杂/有多个屏幕... 8. 导航和可能的一些 MVC

1 和 2 - 我们希望通过 .NET RIA 服务来解决。

其他人,我试图通过 Silverlight.FX 提供一个实现......最初作为一个实现人们可以按原样使用或作为起点,并随着时间的推移将它们驱动到平台/SDK。

就命令本身而言,它肯定有用,但在我看来不是必需的,如果您具有绑定的基本功能以及通过操作将事件拼接到普通方法的能力。

于 2009-04-24T01:36:24.557 回答