Rank业余爱好者的OOP和DataTables

时间:2008-10-22 21:54:13

标签: c# oop datatable

我是一名业余爱好者,正在编写一个小应用程序来跟踪文件夹中的更改。我想我会在一个绑定到gridview的数据表中保存有关要观察的目录的信息,当用户单击一个按钮时,程序将创建FileSystemWatchers以监视目录,并将他们的事件消息发送到另一个数据表绑定到另一个gridview。我应该在广泛的OOP世界中声明,启动和操纵数据表吗?主要形式,在main中,在类中,还是应该“放弃”并使用Visual Studio自动创建DataSet并在其中粘贴两个表?

2 个答案:

答案 0 :(得分:1)

适合课程的马匹。对于一个小实用程序应用程序,您可能最好使用VS“Visual / RAD”编程风格。例如,将表格拖放到表格上,就像大多数教程所示。

严格地说,对于更大的应用程序,更正确的方法是创建一个处理数据访问的单独程序集(.dll),并从主窗体调用该程序集中的类。这个概念有很多术语,但实际上你想要分开你的顾虑。换句话说,让UI处理UI交互,使用单独的程序集/项目/处理数据库交互的任何内容,以及另一个单独的程序集/项目/处理业务逻辑等的任何内容。

最后几句话对不同的人来说意味着不同的事情,并且没有100%正确的做事方式。

一些可能有帮助的文章:

link text
link text
link text

答案 1 :(得分:0)

我同意KiwiBastard:使用VS工具生成类型化数据集可以获得很多好处。

但这只是生成类。您仍然需要管理DataSet的实例。对于一个非常简单的应用程序,我没有将UI和业务逻辑分解到不同的类中,我会在表单中执行此操作。对于任何复杂的应用程序,它都是业务逻辑类的一部分。

可能会给你带来很多麻烦的东西:数据绑定很好,ADO很好,但某些类型的ADO代码(特别是DataTable上的事件处理程序)在数据绑定方面效果不佳。如果您正在使用BindingSources(并且,实际上,您应该这样做),那么在您以编程方式操作DataSet的对象时(例如,当您添加和删除行时)暂停绑定通常是个好主意。暂停和恢复绑定的成本非常小,它消除了一大堆难以诊断的问题。