2009-06-11 25 views
1

出於興趣:在ASP.net MVC中,您可以推出自己的ControllerFactory。我只是想知道爲什麼你想這樣做?我看到提到的依賴注入,這是有道理的推出自己的ControllerFactory,但我不知道爲什麼我想在控制器上使用DI。示例/用例構建您自己的ControllerFactory?

交換模型非常合理,交換視圖也有一些明顯的用途,但我不確定是否可以考慮用於交換控制器的任何用例,這不會導致架構噩夢。

任何示例?

回答

3

我們這樣做的原因有兩個:

  1. 依賴注入。這就是我們如何更換單元測試控制器的模型。控制器有一個服務接口引用,從中獲取它所需的模型類型。
  2. 覆蓋默認的「ControllerName + Controller」約定。我們實際上並沒有針對最終用戶看到的每個控制器的特定控制器類型。在某些情況下,我們動態生成控制器控制器工廠處理這些情況。

這就是說,這只是幾行代碼;大部分實際工作都是由框架中的繼承控制器工廠完成的。所以你的問題的答案部分是「不多」。