2010-07-08 199 views
0

最近我讀過,並從Pro ASP.NET MVC Framework實現的例子80%,這似乎是作者們只給了基礎。閱讀完這些後,我確實能夠使用ASP.NET MVC構建Web應用程序。但這只是基本的應用程序。我發現最令人困惑的是,作者在開始時強調模型作爲MVC應用程序的主要組件,但後來完全忘記了這一點,重點關注視圖,幫助器方法,控制器,測試(我花了更多的時間爲測試編寫代碼,而不是應用程序本身),Web安全性,第三方軟件更好地完成任務,但沒有正確解釋模型在ASP.NET MVC中的位置。在這本書中,最大的例子,我會歸類爲模型的代碼,完全在另一個項目放置,而不是一個單一的文件是在型號命名空間中創建。最佳實踐

這裏是我覺得是構建使用MVC應用固體需要100%的事情:

  • 適當的驗證,模型側。我在互聯網上的很多例子中都看到它使用註釋完成。在哪裏可以找到關於用於ASP.NET MVC數據驗證的註釋的綜合文檔?
  • 最佳實踐模型中的代碼組織。我可能有許多需要定義的實體/類。我應該創建單獨的文件嗎?我應該知道ASP.NET MVC框架中是否有任何接口或有用的基類?
  • 是否應HTML字段名稱來使用普通的HTML,或在模型中,使用註釋在視圖中定義? ASP.NET MVC中模型的角色在哪裏結束?
  • 什麼是使用ORM工具與ASP.NET MVC模式的最佳實踐?如果DataContext中斷,應該如何進行更新?應該在哪裏設置實體的可更新屬性?在傳遞給模型進行更新之前,在控制器中?或者在模型中?

回答

1

該模型是你的業務邏輯和業務對象。許多大型應用程序都將「模型」與Web應用程序完全分開。如果你有多個前端(手機,窗口,網絡等)到你的應用程序,你應該能夠在每個使用相同的模型。

例如,在我們的應用程序(〜250點意見),我們有:

Web App (strongly typed views, controllers) 
--- 
ServiceLayer  |-| 
RepositoryLayer |-|These 3 projects compose the "model" 
DataAccess (ORM) |-| 
--- 
Database 
+0

我讀過更多的話題。意識到沒有確切的「最佳實踐」,正如我所預料的那樣。然而你所描述的很多是我們如何得到另一個應用程序的工作。它現在是數據訪問層,業務邏輯層,服務層。感謝您的回覆 :) – AlexanderMP 2011-10-10 23:39:12