我没有在这里具体的问题,但我更多地寻找一些关于我开始工作的新软件项目的指导。我开始一个新的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可能会让我们试图完成的任务变得过火。我不知道。
所以这就是我正在做的,我一直在阅读和研究。我将非常感谢您对此的看法以及您可以提供的任何指导。
谢谢!
当然这是“改写”而不是“重构”? – MarkJ 2010-09-09 17:01:49