我是一个完全业余编写一个小应用程序来跟踪文件夹中的变化。我想我将在绑定到网格视图的一个数据表中保存有关要监视的目录的信息,当用户单击一个按钮时,程序将创建FileSystemWatchers来监视目录,并将其事件消息发送到绑定到另一个网格视图的另一个数据表。在广泛的OOP世界中,我应该在哪里声明、初始化和操作数据表?main窗体,在main中,在一个类中,或者我应该“放弃”,使用Visual Studio自动创建一个DataSet并将两个表放入其中?
发布于 2008-10-22 22:20:12
赛马场上的马。对于一个小的实用程序,你最好使用VS "Visual/RAD“风格的编程。例如,将表格等拖放到窗体上,就像大多数教程中显示的那样。
严格地说,对于较大的应用程序,更正确的方法是创建一个单独的程序集(.dll)来处理数据访问,然后从主窗体调用该程序集中的类。这个概念有许多术语,但实际上你想要分离你的关注点。换句话说,让UI处理UI交互,有一个单独的程序集/项目/任何东西来处理数据库交互性,另一个单独的程序集/项目/任何东西来处理业务逻辑等。
最后几句话对不同的人可能意味着不同的事情,并且没有100%正确的方法。
一些可能会有帮助的文章:
link text
link text
link text
发布于 2008-10-22 22:30:34
我同意KiwiBastard的观点:使用VS工具生成类型化的DataSet会给您带来很多好处。
不过,这只会生成类。您仍然需要管理DataSet的一个实例。对于一个非常简单的应用程序,我没有将UI和业务逻辑分解到不同的类中,我会在表单中这样做。对于任何复杂的应用程序,它都是业务逻辑类的一部分。
一些可能会为您省去很多麻烦的东西:数据绑定很好,ADO很好,但是某些类型的ADO代码(特别是DataTable上的事件处理程序)不能很好地处理数据绑定。如果您正在使用BindingSources (实际上,您应该这样做),那么在以编程方式操作DataSet的对象时(例如,在添加和删除行时)挂起绑定通常是一个好主意。挂起和恢复绑定的成本非常低,而且它消除了一整类非常难以诊断的问题。
https://stackoverflow.com/questions/227678
复制相似问题