2012-10-12 216 views
4

我需要幫助設計一個用於團隊環境的MVC結構嗎?這裏是我們正在做什麼的簡短說明:多個MVC項目結構

  • 我們有不同的部門,我們將轉向網絡(MVC)。例如,我們有一個政府部門,管道部,& Compset部門等

選項:

  1. 我可以設置在Visual Studio中每個模塊的正常MVC解決方案。所以我可以有一個用於人口普查的VS解決方案,一個用於管道等等。這很好,但我希望有一個可以跨項目使用的共享視圖(類似於主頁面)。在這種情況下如何工作?
  2. 我可以爲每個部門設置一個具有區域的MVC應用程序。不錯的選擇。它解決了我的共同意見問題。但是,當我們完成時,我可能會結束12-15個不同的領域。這是一個巨大解決方案中的很多子文件夾和代碼。更不用說我可能想將我的Model &存儲庫分離出他們自己的項目。那甚至可以使用區域來處理?
  3. 如果有更好的主意,我會很感激幫助。

我們有8-10位開發人員將在這個應用程序中前進,所以我只是想確保我有最好的結構。

回答

1

我覺得有沒有「正確」的答案在這裏,基本上把它歸結爲你的想法將是最容易建立和維護隨着時間的過程。所以這就是我要做的。

合併模塊分成更易於管理的單元,並讓那些在不同的網站項目中的模塊將是地區。如果視圖共享是這裏最重要的事情,那麼這將是您將模塊分組到不同區域的網站的標準。同樣,如果他們分享一些觀點,那麼他們也許在邏輯上或多或少相似,所以你最終也會按照他們的邏輯含義對他們進行分組。 然後,您可以將這些作爲解決方案中的不同項目或完全不同的解決方案。

看起來也似乎是using views from different projects一種方式。 我個人從來沒有這樣做過,並且這個鏈接是Google搜索的快速給我的,所以一定要仔細閱讀它。這可能會使您的觀點在所有網站中都可重複使用。

關於車型和倉庫,我讓他們在一個完全獨立的項目,然後由所有的網站引用。最近,我傾向於建立我的模型和存儲庫,而不考慮任何「客戶端」,所以我通常把它們放在一個完全獨立的項目中,我嘗試構建它們以便它們可以輕鬆地被網站,網站服務或桌面應用程序。

我希望這可以幫助,但正如我所說,這絕不是一個正確的答案(它可能是完全錯誤的,因此,如果有人有更好的想法,請做股)。順便說一句,如果你有8-10位開發人員正在開發它,一定要問問他們。來自聰明人的一些不同意見傾向於融入有用的想法。

0

你可以通過很多方式來做到這一點。

一種選擇是使用Portable Areas,每個區域是它自己組裝。這可以解決您的項目大小問題。