2010-09-09 58 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團隊無論如何都在這裏。

祝你好運。

相關問題