2009-08-28 56 views
1

默認的ASP.NET MVC項目設置了一個「模型」目錄,我不知道我曾經用過少量我曾經參與過的MVC項目。通常,我有一個單獨的「庫」項目來存儲業務邏輯類。ASP.NET MVC「模型」目錄:它有什麼好處?

現在我很好奇:我錯過了一些沒有利用默認ASP.NET「Models」目錄的優勢嗎?是否有一些內置的功能可以很好地使用它?

回答

8

我通常將這個目錄用於我的視圖模型。域模型存在於單獨的項目/程序集中,但視圖模型與Web目錄一起保存在Models目錄中。將模型添加到此目錄會自動將它們設置在* .Models名稱空間中。

2

該文件夾本身沒有「特殊」功能,但只是建議您在哪裏保留模型類(即您的數據類,例如ORM生成的(LINQ))。

示例類是客戶,地址,訂單等模型底層的數據實體。

1

因爲我一般保持我的模型在一個單獨的項目/組件,我用的是Models文件夾來存儲UI特定的類,就像如果我有一個顯示既是WidgetFoosit一個觀點,我只是包裝起來的WidgetFoositContext目的。

public class WidgetFoositContext { 
    public Widget Widget { get; } 
    public Foosit Foosit { get; } 
} 
1

我使用模型目錄來存儲業務對象的組合。如果您在產品控制器中,我將創建一個ProductViewData類來存儲產品本身以及列表推薦產品和該產品的評論列表。

我更願意讓我的業務對象變得非常簡單,模型目錄就是我可以將我需要的不同形式的數據組合在一起的地方。

5

你不會錯過任何東西。在我看來,文件夾創建的唯一原因僅僅是因爲它是ASP.NET MVC,他們需要「M」,「V」和「C」的文件夾。默認情況下,ASP.NET MVC不會告訴你如何實現「M」,所以它只是給你一個空白文件夾,作爲你放置模型類的建議。你可以自由刪除這個文件夾,並把你的模型放在你想要的位置。