2011-03-09 77 views
2

我正在編寫我的Mac應用程序(C#Winforms)的Windows版本,並且希望對使用什麼設計模式提供一些建議。對WinForms應用程序的MVC模式的建議

我的Mac應用程序使用MVC模式和Core Data進行存儲。這是模型和關係的簡化圖:

model diagram

的桌面應用程序收集在後臺線程日誌,並定期將其上傳到我的web應用程序。數據庫用於存儲用戶的帳戶信息和日誌,應用程序有3個視圖來顯示(並收集)用戶的數據。

我已經做了一些閱讀,似乎MVP是WinForms應用程序的推薦設計模式,但我不知道如何從這裏開始。我認爲我的應用程序非常簡單,可以在不使用MVC#等外部框架的情況下編寫代碼,但因爲我只是在猜測之前從未創建過WinForms應用程序。

有人可以推薦最好的方式去做這件事嗎?

+0

如果我必須做的WebForms我會去與MVP:http://webformsmvp.com/ – VinnyG 2011-03-09 03:02:02

回答

2

模式實際上只是指導,以什麼問題,它試圖解決的問題。如果MVC適用於依賴頁面和重定向等的Web應用,那麼Winform應用可以從使用MVP中受益。

說了這兩種模式是更廣泛的用戶界面模式的兄弟姐妹,甚至根據馬丁福勒MVP模式可以進一步分裂。看看他的article,以獲得適當模式的良好感覺。他將MVP打破了監督控制器和被動視圖。即使是新的MPF MVVM模式實際上也是基於PresentationModel模式。

我會說看看模式,看看什麼適合,而不是嘗試使用模式,因爲你在另一種場景中使用它。

+0

正確地說。不要爲模式選擇問題,而應選擇一種模式來解決問題。 – ferosekhanj 2011-03-09 04:35:32

0

開始工作,做一些屏幕模型,做一些設計,編寫一些代碼。

你可以從幾個小原型開始,嘗試不同的設計。在探索階段不要過多,這樣你就會毫不猶豫地把它扔掉,並在需要時重新開始。

儘量讓自己的選擇儘可能開放,不要讓自己陷入一個角落,並延遲這個決定,直到你真的需要選擇一種方式。

那麼你可能會有一個更好的想法,你需要什麼。

相關問題