2012-03-10 105 views
5

微軟最近發佈了MVC 4 Beta,它具有Web API和SPA這些非常棒的新功能。一如既往,微軟的演示不會展示軟件設計前景的最佳實踐。例如,使用與EF緊密耦合的DbController。 Microsoft ASP .NET Web API,MVC 4和SPA Architecture

在我看來,SPA和Web API在現代ASP .NET應用程序中是一個手拉手。 我想聽聽任何有關構建基於MVC 4的解決方案的建議,該解決方案將應用Web API和SPA等這些新技術。

例如,將基礎MVC4項目中的Web API項目與自己的控制器分開還是不分開是一種很好的做法。如何處理SPA,而不是使用DbController來分別保持數據持久性?什麼是常規MVC4應用程序的主要角色,尤其是Razor視圖?

任何其他的想法或建議,高度讚賞。

回答

4

在MVC4 +網絡API的分離:恕我直言(一如既往),這取決於你的具體項目。

關於EF:你絕對不應該返回EF實體,但回到自己的DTO來代替。

的MVC剃刀意見的作用可以使您從客戶端動態加載的局部視圖。您也可以爲最初加載的索引頁面執行一些操作,例如CSS/JS的條件加載等。

3

我認爲這是一個好主意,讓API在一個單獨的網站項目從您的SPA /網站,你可以在運行與貪婪的路線問題。

絕對保證您的數據訪問獨立和鬆散耦合。