【问题标题】:Using WPF Frameworks / Modules in Small Scale Development在小规模开发中使用 WPF 框架/模块
【发布时间】:2010-07-06 18:29:38
【问题描述】:

我已经阅读了很多关于 SO 和网络的文章,其中介绍了各种 WPF 框架(Caliburn、Prism)和模块框架(MEF、Unity)以及将它们结合起来的好处和特性。

理论上,我喜欢它们背后的想法。而且我知道,一旦我掌握了这些系统,它实际上可能会提高开发速度——但是学习具有这种复杂程度的工具和框架的前期成本似乎很高。

项目背景:
我正在使用一个 10 年前的 Access 数据库系列(包含大量错误的宏代码)并重新设计数据库。最重要的是,我想提出显示和呈现这些信息的最佳方式。使用 Access (2007) 是一种选择,但我不想使用。

我工作的公司是一家中小型企业,该应用在工作日将有大约 40-80 个并发用户。这就是我想避免访问的原因。

我目前正在使用 Entity Framework 4 (SQL Server 2008 R2) 和 .NET 4 (C#/WPF) 的模型优先功能。

困境:
新数据库的高级设计是基于权限的(角色只是权限的集合),我希望 UI 根据这些权限显示信息/编辑按钮/等。如果我采用标准方法,代码中会充斥着 if/else 语句。但是,如果我使用大型框架——我觉得这对于基本上是数据库访问层的东西来说是多余的——尤其是考虑到前期学习曲线很高。更不用说我不是 100% 确定这些框架会以我相信的方式帮助我。

问题:
我正在寻找一些关于这些框架是否值得在小型“数据库层”类型应用程序中学习曲线的讨论。

此外,如果它们被认为是矫枉过正,是否有任何框架可以帮助这种类型的系统?我考虑过将 UI 过渡到看起来很完美的网络(而且是我的专长)。

感谢您的宝贵时间。

【问题讨论】:

    标签: c# wpf entity-framework mvvm


    【解决方案1】:

    从它的声音来看,这似乎是WCF RIA Services 的完美候选者。然后,您可以将您选择的演示文稿(目前是 Silverlight 或 ASP.NET)用于前端。根据具体情况,您可以混合和匹配演示文稿。

    【讨论】:

    • 在我标记为答案之前,我绝对想听听其他人的意见,但这绝对很棒。这些示例完美回答了我的问题。
    • @Chris:没问题。不过,这正是 RIA 服务所针对的场景类型 - 所以我认为您肯定会考虑这一点。 Brad Abrams 的博客也是 RIA 服务信息的绝佳资源(包括 24+ 篇文章教程):blogs.msdn.com/b/brada/archive/tags/riaservices
    【解决方案2】:

    鉴于 Caliburn 的传统方法和您的安全需求,我认为它们非常适合。使用 Caliburn,您可以根据指定的约定或内置的约定自动连接控件。显示您可以为 Button 设置约定,其中它的名称包含与允许使用该操作的角色相关的后缀。使用公开用户角色的基本 ViewModel,您可以根据用户角色约定启用/禁用按钮。

    【讨论】:

      猜你喜欢
      • 2012-03-12
      • 2015-05-01
      • 2013-09-12
      • 2017-05-23
      • 1970-01-01
      • 2016-05-25
      • 2015-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多