【问题标题】:which frameworks(MVVM light, Prism, MEF,..) should i use for my Financial Silverlight application?我应该将哪些框架(MVVM light、Prism、MEF、..)用于我的 Financial Silverlight 应用程序?
【发布时间】:2010-08-25 21:07:41
【问题描述】:

首先,我是 Silverlight 的新手(玩了一个月),这是我的第一份工作。但是,我愿意学习任何可以让我提升 Silverlight 知识的东西。

目前,我需要实施一个关于财务的大型 Silverlight 项目(类似于 Microsoft 会计)。它将有很多来自数据库的表。

因为太大了,所以扩展性和维护性很重要。

这里谁能告诉我应该学习和使用哪个 Silverlight 框架(MEF、Prism、.....)? 时间也是一种限制,所以我不认为我可以学到所有东西。请给我最好的建议。

谢谢

【问题讨论】:

    标签: c# .net silverlight silverlight-3.0 silverlight-4.0


    【解决方案1】:

    如果我可以给你一个重要的提示,我希望我在开始一个相当大的应用程序之前就知道了;如果您想真正控制数据操作,如果您的数据库表之间的关系超过 2-3 级,请不要使用 ria 服务。

    mvvm 乍一看可能相当混乱,但一旦掌握了它,它就会变得非常透明且易于维护。

    祝你好运:)

    【讨论】:

      【解决方案2】:

      4 个月前,我开始了一个仍在进行中的大型 Silverlight 项目。最后,我没有选择 MVVM 框架。随着 Silverlight 获得新功能,它们的效用似乎下降了。例如,Silverlight 现在内置了命令,从而消除了创建 Prism 之类的原因的很大一部分。

      我确实使用了 MVVM light 的消息传递,但我根本不使用它的 MVVM 功能。我的应用最终变成:

      • 用于 IOC 的 Ninject
      • 为命令内置 Silverlight 4 ICommand 实现
      • MVVM Light 消息传递
      • 我从零开始编写的一个非常简单、中肯的 MVVM 框架。这实际上没什么,只是一个简单的 ViewModel 基类,它处理常见任务,仅此而已。

      【讨论】:

        【解决方案3】:

        对于大型项目,我会实施 MVVM,特别是如果您只是在学习,因为它将使您的代码保持在更易于管理的水平。我也会检查这个链接:

        http://www.silverlight.net/learn/handsonlabs/

        有一些非常棒的实验室可以用来学习 silverlight,还有几个 MVVM 实验室。

        【讨论】:

          【解决方案4】:

          如果您希望生产的产品可以在未来几年内得到维护,并且可能由多个开发人员共同开发,那么您将需要超越简单的 MVVM,并在更广泛的范围内考虑模块化。这意味着学习 IOC、MVVM、指挥和事件,以及 Silverlight 的所有基础知识。

          Prism 4 即将发布(截至 8 月 18 日,目前处于 Alpha 阶段)。新版本包括 MEF,因此为您提供了动态加载项目模块的多种选择。非常值得研究。 Prism 和 MEF 都是由微软发起的。

          MEF 用于生成基于插件的框架应用程序,例如 Visual Studio。我们目前正在将 Prism 2 用于一个非常大的长期项目(数百个模块),并希望在发布时迁移到版本 4(我目前正在另一个个人项目中尝试版本 4 Alpha)。

          【讨论】:

            【解决方案5】:

            Mvvm Light 是一个很棒的框架。

            CinchV2 也是使用 MEF 的另一个。

            但正如其他人所说。框架有点无关紧要,设计才是最重要的。这些框架只是使一些设计更容易。阅读有关 MVVM 模式的信息,但根据我的经验,没有一个教程真正涉及大型项目以及它们的组件如何相互通信。这就是框架的用武之地。它们解决了一些问题,但 MVVM 只是您将在大型应用程序中使用的众多模式之一。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-03-02
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-03-31
              • 2015-04-28
              • 2011-06-27
              • 1970-01-01
              相关资源
              最近更新 更多