2011-04-19 51 views
2

我需要創建一個新網站,我已經完成了數據庫建模並且需要啓動它,我還想使用MVC和LinqToSql。創建新項目的好做法

我的老闆說,我可能需要爲Windows Phone的應用程序7.

我從來不遵循任何好的做法或圖案時,我在做這個,我的意思是,當用戶點擊網頁中的註冊按鈕,我創建了我的DataContext實例,驗證輸入內容等等。

那麼,當我需要製作WP7應用程序時呢?我將不得不復制並粘貼代碼?我知道我應該重用它,但實際上我不知道如何將業務規則,數據訪問等放在哪裏......

我在閱讀有關企業模式的內容,但我發現它對我來說太複雜了因爲我還沒有太多經驗。

請給我這個意見。另外,如果你能指點我一個很好的示例項目,我可以檢查它的源代碼並遵循相同的架構,那就太棒了!

謝謝!

回答

0

MVP design pattern是你在找什麼!

我在類似的情況下(一個應用程序共享在不同的屏幕尺寸/框架的移動&桌面),並通過使用這種模式業務代碼是相同的,你不需要複製你的代碼。

3

Sharp體系結構是衆所周知的MVC體系結構和項目結構的示例。

http://wiki.sharparchitecture.net/(X(1)S(rcnk1jfg1daywk55iazwqh55))/default.aspx?AspxAutoDetectCookieSupport=1

當然,你可以設置你的項目不同,這取決於你的需求,但這是一個很好的例子開始。

另外,對於數據訪問,Repository模式被廣泛使用。這裏是一個很好的文章實現使用實體框架中的MVC模式...

http://blogs.msdn.com/b/adonet/archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx

祝您好運!

3

你應該看看轉向N層設計,將你的用戶界面從Dal中分離出來。 這還允許在手機應用程序中重複使用您的biz邏輯和Dal,或者您可能需要的任何其他地方。

這是一篇博客文章,介紹你需要做什麼N-Tier Design revisit這是涵蓋N-Tier設計的5篇文章中的第一篇,我包括一些代碼示例,並且有一些項目可以在存儲庫中查看。

另一個建議是獲得Head First Design Patters的副本來學習設計模式,並開始學習最佳實踐。良好的設計是技術不可知的,你應該花費盡可能多的時間學習如何設計一些東西,就像你在做什麼。

+0

不錯的頭像鮑勃。和你博客上的相同,huh + 1爲好的文章 – 2011-04-19 18:38:59

0

使用MVC的一個好處是你的動作實際上可以返回JsonResult,併成爲一個爲您的WP7客戶端應用提供暴露的服務API。

我會建議調查一下,以及stephen776的建議;那麼你的MVC應用程序就會消耗你的存儲庫(數據訪問)和實體(模型),然後將它們暴露給Web瀏覽器(使用MVC Views/Javascript)和外部應用程序(使用JSON結果)。

對於WP7應用程序,使用的最佳模式稱爲Model-View-ViewModel(MVVM),它依賴於強大的稱爲DataBinding的Silverlight功能,請嘗試查看。有一個很好的圖書館旨在幫助你http://mvvmlight.codeplex.com/