2010-09-09 27 views
3

我没有在这里具体的问题,但我更多地寻找一些关于我开始工作的新软件项目的指导。我开始一个新的VB项目,我可以使用一些指导

下面是该项目的描述:这是用Visual Basic 6,并使用MS SQL Server的一个数据库

我重构Windows软件。该代码与SQL查询紧密耦合,并引用旧的活动X控件。

该软件可以在独立模式下运行,其中它的一个计算机上或者在它运行在几台机器同时所有连接到共享数据源的分布式模式仅运行的一个实例。

该软件的用户需要使用与客户端软件集成的各种USB设备。 (我假设这意味着该软件的新版本需要是桌面应用程序,并且不能是基于浏览器的Web应用程序。)

该软件的新版本将要更新以使用新技术努力实现代码现代化并提高性能。

我希望新软件的架构既可以是逻辑3层,也可以使用设计模式(如果适用)。虽然我是设计模式的新手,但似乎有机会在新版本的软件中一起使用抽象工厂,观察者和单例模式。

在一个非常通用的解释中,该软件有一个存储员工信息的“员工”数据库表。客户端有一个网格视图,允许用户查看存储在数据库中的员工信息并通过网格视图对数据进行修改。客户可以使用具有文本字段和下拉菜单的表单将数据添加到员工数据库。员工相关数据也可以由客户端的USB设备捕获,然后该数据也可以添加到员工数据库中。

就这与架构相关的问题而言,我猜测可能存在一个可观察的单例员工对象,这些对象是由数据显示对象(如网格视图对象)观察的,并且这些数据显示对象是由抽象工厂方法创建的。 (这是否有意义?)

新软件将在Visual Basic中使用Visual Studio 2010。除此之外没有其他的技术在已经决定的写入。

我想我们会用反对的Windows Presentation Foundation Windows窗体虽然我不知道,因为可能有一些图像处理功能,我们希望能够与WPF做得更好。

从我读过我喜欢实体框架和LINQ,但我不知道如何在与我上面提到的设计模式业务逻辑层协同工作。

此外,我试图了解我们是否可以使用Windows通信基础和Web服务。当软件在分布式模式下运行时,这是有意义的,但在独立单机部署中没有多少意义。添加Web服务和使用IIS可能会让我们试图完成的任务变得过火。我不知道。

所以这就是我正在做的,我一直在阅读和研究。我将非常感谢您对此的看法以及您可以提供的任何指导。

谢谢!

+0

当然这是“改写”而不是“重构”? – MarkJ 2010-09-09 17:01:49

回答

3

除了事实,你会在开发过程中学习到很多,我可以给你以下建议:在数据库的数据库访问

  • 使用Stored Procedures。这将防止并发问题并允许事务。这意味着如果出现问题(用户电脑崩溃等),则不会丢失数据和数据完整性

  • 将窗体视为用户和数据库之间的简单“接口”。因此,他们不应该包含任何跟踪数据(让数据库做到这一点),而且只收集的手段,并显示数据

1

我有一个非常类似的经历。

我尝试导入一个VB6数据库项目作为独立应用程序运行到VB 2005中,代码非常难看。我发现这样做使用VB.NET三层DB应用程序非常有用(VB 2005年,实际上)

一本书是ADO.NET 2.0与VB 2005通过Murach出版。让我加快速度,它给出了编写三层DB应用程序(业务层,表示层和DB访问层)的直接示例。

记不住知道是否有这本书的新版本,但我印象深刻的是一个布局。它还处理网络应用程序。

除此之外,我做了一些代码生成精简黑客攻击了Object类和DB访问类为我的项目。

0

我相信这个项目是真的,有你学习,并获得了很多经验。

就像eddy556说的那样,只使用窗体作为接口。它的工作方式更好。

另外,如果你有任何问题,请不要犹豫,问。这就是我们StackOveflow团队无论如何都在这里。

祝你好运。

相关问题