製作控制器時,將其分割的最佳方法是什麼?什麼是分離MVC控制器功能的最佳方式?
如果我有一個管理部分,它下面有一堆.ascx Web用戶控件和幾個.aspx頁面。我應該有一個AdminController嗎?或者我應該爲每個管理員頁面/網頁用戶控件設置一個控制器?
看起來好像負責單個頁面的操作違背了MVC試圖從Web窗體改進的一件事。但在同一時間,你不希望一個控制器爲您的整個網站...
我明白控制器應該做什麼,但一個單獨的控制器應負責多少?分離控制者責任的最佳方法是什麼?
謝謝
馬特
製作控制器時,將其分割的最佳方法是什麼?什麼是分離MVC控制器功能的最佳方式?
如果我有一個管理部分,它下面有一堆.ascx Web用戶控件和幾個.aspx頁面。我應該有一個AdminController嗎?或者我應該爲每個管理員頁面/網頁用戶控件設置一個控制器?
看起來好像負責單個頁面的操作違背了MVC試圖從Web窗體改進的一件事。但在同一時間,你不希望一個控制器爲您的整個網站...
我明白控制器應該做什麼,但一個單獨的控制器應負責多少?分離控制者責任的最佳方法是什麼?
謝謝
馬特
一個AdminController是一個不錯的選擇。控制器中的不同方法在管理功能集中具有不同的職責,在適當的時候具有不同的視圖。
您可以在Nerddinner項目中看到這個分工。
完全是一個75%的答案,但作爲一個非常靈活的答案,每個模型一個控制器,然後給它足夠的靈活性來創建,讀取,更新和刪除該模型(最好保持界面在控制器之間一致並避免特殊除非絕對必要)。
這適用於所有情況,但不適用於所有情況!
REST是一個很好的考慮這個問題的框架。雖然下面的指南是針對軌道的方式,但很多概念應該更廣泛適用http://www.softiesonrails.com/2007/3/28/rest-101-part-1-understanding-resources