我沒有在這裏具體的問題,但我更多地尋找一些關於我開始工作的新軟件項目的指導。我開始一個新的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