在这种情况下使用什么模式?

时间:2010-04-09 12:02:09

标签: winforms design-patterns

我们的应用程序中有很多表单(windows app C#)。我们在大多数表格中都有类似的步骤 - 用户添加一个新对象(在网格中),填充值并保存。然后,保存,我们验证,以及如果一切正常则保存,否则显示message.Now,添加对象通常意味着我们添加一个带有一些默认值的新行。

2 个答案:

答案 0 :(得分:1)

你的问题非常广泛,所以我会以同样广泛的答案回答:

您应该使用MVCMVVM等模式。您可能想要考虑从DDD中引入一些概念,例如存储库模式。

答案 1 :(得分:0)

这只是一个数据录入应用程序吗?是真的吗? Reeeaaally ???验证规则是否非常简单,往往只是“不是空”和“在范围内”?有没有太多可以谈论的领域?您不必与其他应用程序集成吗?除报告之外,您是否真的不打算与任何此类数据进行交互?

如果对所有这些的答案都是肯定的,那么某种模板模式可能适合您。将每个表单基于基类。基类有一个save方法。当你保存它时,它可以扫描表单上的所有控件,运行任何更明显的验证(不太明显的验证可以存储为属性)并使用约定保存数据库(或者你想要这样做)。

Then again, if it truly is a data-entry application, why even bother to do it in Windows Forms?将其与Access DB一起使用,并在十分之一的时间内完成。

另一方面,如果你有一个真正的域名,那么你的应用程序不只是一堆表格吗?这些表单只是一种针对域名发布命令的方式 - 而这正是您被聘用的真正内容。在这种情况下,你应该去read the big blue book

所以...是