2009-07-14 105 views
4

應該如何分離ASP.NET MVC站點中的控制器?例如,默認項目有一個HomeController和一個AccountController。網站的每個部分是否應該有一個控制器,還是其他的?分割ASP.NET MVC控制器

我正在學習如何使用MVC框架,以及任何幫助,將不勝感激。

回答

1

我認爲這取決於你的網站將會有多大。爲您的控制器提供邏輯名是最重要的部分,讓您的源代碼易於導航非常重要。

一般而言,如果您不確定,我認爲最好從CRUD書中取出一片葉子,特別是如果您正在處理支持它的數據模型時。對於某個特定的模塊(比如產品),您將有一個負責創建,讀取,更新和刪除(以及查看索引)的控制器。

如果你的網站比較少CRUDDY(比如Stack Overflow),那麼把控制器分成邏輯區域(比如「PostController」,「SearchController」等等)可能更有用,但它確實取決於你的網站和它的架構。

對不起,我不能更有幫助,在大多數情況下,無論如何,最好是通過做。如果你是新人,採取你認爲最好的方法是基於你所看到的建議和例子。一個好的思考.NET和ASP.NET MVC的是,稍後重構很容易。

0

這樣做的傳統方式是以與拆分視圖相同的方式拆分控制器。例如:

/瀏覽/家有指數,註冊和聯繫的觀點,那麼你就會有一個HomeController的

/瀏覽/產品具有展示和列表視圖,那麼你就會有一個ProductController的

最簡單way視圖文件夾中每個文件夾的1個控制器。

0

對於何時製造新的控制器,沒有特定的規則。 如果你覺得它會控制網站的不同部分,你可以創建一個新的控制器。

基本上有很多控制器,可以將網站邏輯上劃分爲不同的部分。