【问题标题】:Is there value in using a Silverlight framework?使用 Silverlight 框架是否有价值?
【发布时间】:2009-04-21 21:54:04
【问题描述】:

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

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

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

Silverlight.FX
Silverstone
CSLA for Silverlight
Prism
Caliburn

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

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

【问题讨论】:

    标签: silverlight silverlight-3.0


    【解决方案1】:

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

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

    【讨论】:

    • 老实说,我要做的是查看开源框架并掌握必要的命令,然后根据需要添加其他部分。
    • 这实际上是我的想法,除非这里有人告诉我 X 框架是必不可少的。
    【解决方案2】:

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

    【讨论】:

    • 你真的觉得 Prism 比较笨重吗? Ninject 非常流行,但 unity 看起来小而简单。生成的 SilverLight.fx 程序集有多大?还有忍者大会?
    • Prism 对我来说只是感觉更重,因为它不容易购买到系统的一部分。我现在有一个可以真正使用事件系统的项目,但是为了使用它,您必须使用他们的 DI 框架(获取 eventAggregator)。 Nikhil 的解决方案很好,因为您可以以很少的开销使用这些命令。老实说,虽然这对 Prism 来说是一个小小的打击。如果您正在开发一个大型应用程序,它是一个强大的框架。我的应用程序更小,所以我更喜欢轻量级、易于消化的框架。不确定 dll 大小 - 下载它们!
    【解决方案3】:

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

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

    【讨论】:

    • 我的一部分同意,另一部分想要一些更简单的东西。现在我开始了解 MVVM、RIA 服务和 Silverlight 3,我不禁觉得缺少了一些东西,但我没有足够的理解来知道那是什么。这个问题更多的是让我弄清楚那个“东西”是什么。
    【解决方案4】:

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 2012-05-28
      • 1970-01-01
      • 2020-08-06
      相关资源
      最近更新 更多