【问题标题】:How to apply Business Logic with Data Binding in .NET?如何在 .NET 中应用业务逻辑和数据绑定?
【发布时间】:2013-11-10 22:43:30
【问题描述】:

有没有人有在使用数据绑定的应用程序中应用复杂业务逻辑的示例?

我从未使用过数据绑定,因为它永远无法完美地融入任何应用程序。即使是一个简单的以数据为中心的 WinForms 应用程序,也有一些业务规则适用于记录可能发生的情况、必须发生的时间,或者谁可能导致它发生......

...也许某个用户无法更新记录,但他们可以查看它。

...由于当前状态,可能无法更新记录。

...也许记录有“IsDeleted”或“DateDeleted”标志。

我总是在业务类中创建具有非常具体操作的类,并检查安全性、记录条件等。这使得以 Microsoft 宣扬的方式实际绑定到对象集合变得非常困难。

如果有任何有用的示例或链接,我将不胜感激。

谢谢, 瑞恩

【问题讨论】:

  • 完全不确定我是否理解这个问题,但如果是这样,那么关键是您的业务对象必须是事务性的或“可回滚的”,并且必须实现与绑定相关的接口。然后您的业务规则验证发生在对象中,如果失败,对象可以回滚到之前的状态。

标签: c# .net vb.net winforms


【解决方案1】:

我认为您需要的是Presentation (or View) Model

这使您可以在不将自己与单个 UI 元素耦合的情况下,引入将 UI 中复杂的用户交互绑定到所需的所有操作。

它在使用 MVVM pattern 的 XAML 应用程序中被广泛使用。

您可以在JavaScript with AngualJS 的网络上看到这一点。

至于 WinForms... 使用大量数据绑定确实是一个糟糕的平台,因为它根本不能很好地支持它。你最好在 WinForms 中使用Model View Presenter 模式,但你将不可避免地不得不在你的代码中连接起来。

【讨论】:

    【解决方案2】:

    我认为您正在寻找的是在 WPF 架构中实现的 MVVM 模式。这是一个非常有用的链接。

    为 Microsoft 工作的 Joel Cochran 发布了此内容,这对于刚开始使用 WPF 和 MVVM 非常有帮助 http://m.youtube.com/watch?v=BClf7GZR0DQ

    当您完成本教程时,您应该对数据绑定和 MVVM 模式有一个清晰的了解。希望这会有所帮助。

    另外,同意 Josh 关于 WinForms 不是实现这一点的好平台的帖子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-10
      • 2010-11-30
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多