我想我開始混淆MVC中的控制器的工作。ASP.NET MVC - 作業控制器
我有暴露五大功能服務:在隊列
- 列表包接受包
- 否認包
我ASP.NET MVC控制器依賴於這個服務,和ca n通常在Action上執行服務調用。到目前爲止我很開心。
第二部分是構建ViewModel結果。如果我在控制器內部執行此操作,則控制器現在具有爆炸依賴項列表 - 添加的每個操作都會增加依賴項以構建視圖模型,並且這些都由控制器繼承。我不太喜歡這個。我構建的這個控制器依賴於N個不同的視圖模型構建器,但是每個請求只能使用其中的一個。
所以我正在考慮把所有這一切都拿出來,並針對每個視圖模型應用特定的操作過濾器。我還沒有這樣做,但似乎沒關係。
這對我提出的問題是:控制器的責任是什麼?如果我最終將視圖模型構建爲過濾器,那麼我的控制器只不過是讓一個路由執行一個服務調用(並提供一個過濾器插件)。如果我讓我的控制器負責構建每個視圖模型,它就變得一團糟。
看來我幾乎想要實例化每個請求的操作,而不是控制器,而我只是在濫用過濾器來實現這個目標?
這個問題急需一些代碼示例。 – 2009-08-24 06:34:49