2010-09-18 36 views
3

有點愚蠢的問題,但如果我想創建一個不是控制器或模型的自定義類,我應該在哪裏放置它。在WebForms中,我將所有類都存儲在App_Code文件夾中,但似乎類未存儲在MVC中。在ASP.NET MVC中存儲自定義類的位置?

它甚至很重要嗎?

回答

10

有很多選擇。有些人只是在ASP.NET MVC項目中創建新的文件夾。其他人(包括我自己)創建了全新的項目。

一種方法,我比較高興的是目的,打破了你的項目...

  • MyApp.Core < - 所有的業務邏輯,沒有DB /網絡的東西
  • MyApp.Infrastructure < - DB/SMTP /事件日誌
  • MyApp.UI.Web < - 在ASP.NET MVC項目
  • MyApp.Tests

我也看到了這些......

  • MyApp.ApplicationServices
  • MyApp.UI.Controllers

我會在所有不同的ASP.NET MVC項目的建議採取偷看在開源世界中看到他們如何安排他們的項目(Code Camp Server,Store Front,Sharp Architecture,Nerd Dinner 2以及其他許多項目)。我認爲它會打開你一個新的可能性世界(控制反轉,存儲庫模式等)。這就是說,這很具有挑戰性,我會將它等同於藍色藥丸/紅色藥丸的情況。

編輯:爲了回答您的其他問題...

我想說它的問題,但只有在這個意義上,打破一切成層幫助您實現鬆耦合。如果您將所有內容都保存在一個項目中,您將很容易模糊演示文稿,業務和數據庫之間的界限。但是如果你把所有東西都分開了,並且你知道你的項目引用,那麼耦合的缺乏就會變得更加明顯,你將更有可能實現問題分離(SoC)。 SoC打開了單元測試和維護的便利之門。

+0

SoC!=物理文件位置 – jfar 2010-09-18 12:20:11

+3

物理文件位置便於SoC – Mayo 2010-09-18 14:46:30

相關問題