3

我創建了一個應用程序,數據庫中有超過70個表格,它將在下一階段增加。什麼是拆分大型mvc應用程序解決方案的正確方法?

我使用Asp.net MVC:型號,實體框架,視圖模型,存儲庫,視圖,控制器,操作過濾器,參考文獻,多國語言,...

什麼是最好的地方這些部分在我的解決方案?

我看到了不同的方法來分解解決方案。例如:

- Solution 
     - Core.UI 
      - Domain 
      - UI 
       - Models 
      - Persistence 
     - Core.Test 
     - UI 
      - Content 
      - Controller 
      - Views 
      - Scripts 

或者另一個說,拆分

- Solution 
     - Model 
     - Entities 
     - Web 
     - References 

或者

... 

你對DDD(領域驅動設計)的意見?以及你如何實現它?你推薦它嗎?


  • 我想在我的項目最好的靈活性最好的選擇,因爲時 項目大,這將是很難改變其結構。
  • 我想以各種形式交換信息(Web和HTML, 客戶端應用程序,移動,XML ....)
  • 我想改變,建立一個我的項目的基本組成部分 分別 (現在和未來)

如果你能幫助我,細節或實例。

非常感謝...

回答

1

它直接不容易回答這個問題。這取決於您的業務需求,您的應用程序的規模等。

有一個來自微軟西班牙的參考實現。雖然它有一些缺點,但它仍然是一個很好的起點。如果你有足夠的時間,就決定需要哪些概念/模式,哪些不需要。

http://microsoftnlayerapp.codeplex.com/

3

這裏的關鍵是要避免耦合,這樣就可以在整個應用程序的開發保持高效。爲了做到這一點,你想做一個面向服務的體系結構

而不是將問題分解爲水平切片(層)的n層應用程序,而是面向服務的體系結構(Service-Oriented Architecture)採用應用程序(服務)的垂直切片。

Start with this video by Udi Dahan如果您想了解面向服務的體系結構的基本概念。提示:如果你已經設計好了數據庫,那麼你就會錯誤地開始。

你想要在這裏讀到的兩個傢伙是Udi DahanGreg Young。我還建議DDD Google Group問更詳細的問題。 DDD問題並不總是適合StackOverflow以及其他計算問題,因爲它們非常細微,通常需要大量來回才能解決問題。

相關問題