【问题标题】:Is it possible to generate a complete, working WPF/Silverlight/XAML application that emits best practices?是否有可能生成一个完整的、可工作的 WPF/Silverlight/XAML 应用程序来发出最佳实践?
【发布时间】:2011-04-15 14:32:43
【问题描述】:

在给定数据库或应用程序的某些其他源规范的情况下,是否有办法生成发出最佳实践的整个 WPF 或 Silverlight / XAML 应用程序?

例如,假设我有一个规范化的数据库(或其他类型的应用程序基本规范),是否有一个工具可以创建一个格式良好的 MVVM 应用程序。这将包括...

  • 所有表(列表和编辑)的 XAML(视图),没有代码隐藏
  • ViewModel 发出从 db 架构中提取的属性以及所有标准 CRUD 操作的命令或行为
  • 使用存储库模式(或其他一些数据库抽象)构建的模型具有发出表设计和关系的接口以及您选择的默认实现(sql、sql ce...随便)。

像这样的理想工具只会执行应用程序的“第一次通过”,之后开发人员将进行所有必要的更改和修改。

我不认为有任何这样的工具,但似乎这样的工具应该是可能的。

另一个相关问题,在没有这样的工具(或者即使有)的情况下,什么工具最适合让我从数据库设计(或应用程序的某种其他类型的基本规范)中获取信息到工作应用程序。

在几个小时内从设计到基本的工作应用程序,您采取了哪些分步流程?

我只是想弄清楚所有这些实践和模式,我已经很好地掌握了这些部分,但不确定使用什么工作流程来使它们快速协同工作,但仍然允许对单独的关注点进行单元测试。

提前致谢。

赛斯

【问题讨论】:

    标签: wpf silverlight xaml mvvm


    【解决方案1】:

    不确定这是否是您要查找的内容,但您可以使用LightSwitch

    【讨论】:

      【解决方案2】:

      从流程的角度来看,我首先构建和测试我的 ViewModel。这允许在设计和连接 UI 以及将数据拉入 ViewModel 之间进行分工。

      【讨论】:

      • 克里斯,这个问题的核心是想知道为什么当有人拥有数据库时,他们是否必须编写数据访问代码。而且,当然,使用 EF,您真的不必编写 DAL。但是,按照您教给我的内容,我在弄清楚如何使用 EF 并且仍然允许 ViewModel 可以使用模拟 dal(如存储库)进行测试时遇到了麻烦。 (显然这是 ALT.NET 人群对 EF 的普遍批评。)
      • 对我来说,仅仅了解一种模式是不够的(在这方面我正在努力)。我想了解“工作流程”。一个循序渐进的过程,将帮助我以可测试的方式实现所有部分。在我们的讨论中,我们没有太多讨论集成模拟数据,也许我们下次可以专注于这个。
      • 最后,令我惊讶的是,在给定数据库模式的情况下,没有一种工具可以以可测试的方式构建整个应用程序作为起点。我知道这不是很 TDD,我的假设是开发人员会在事后包装生成的代码,然后使用 TDD 方法。我知道在某些时候我们必须编写代码,但我们越能专注于业务逻辑而不是管道越好。谢谢你所做的一切。赛斯
      • 听起来不错。存储库模式的部分重点是专门允许模拟数据。 IRepository 通常是所选 ORM 的抽象层,因此选择 EF 或 NHibernate 或其他一些 ORM 不应影响为 ViewModel 收集数据的方式。我同意拥有一些 WPF -> DB 脚手架会很好。
      • 克里斯,您说“选择 EF 或 NHibernate 或其他一些 ORM 不应影响为 ViewModel 收集数据的方式”。然而,这正是我一直试图弄清楚的。如果我使用 EF 或 NH 或任何其他 ORM,它是否必须实现 IRepository 接口才能交换 mosk 以进行单元测试?然而我还没有找到一个简单的方法来做到这一点。具体来说,例如,如何设置 DAL 以使用 EF,然后换入 IRepository 模拟以测试 EF 是否实现 IRepository 模式?我不太明白?我可能太难了。
      猜你喜欢
      • 2011-08-06
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      相关资源
      最近更新 更多