Примеры / варианты использования вашей собственной ControllerFactory? - PullRequest
1 голос
/ 11 июня 2009

Из интереса: в ASP.net MVC вы можете запустить свой собственный ControllerFactory. Мне просто интересно, почему вы хотели бы сделать это? Я вижу упомянутое внедрение зависимостей, в котором есть смысл развернуть вашу собственную ControllerFactory, но опять же я не уверен, почему я хотел бы использовать DI на контроллерах.

Обмен модели имеет смысл, обмен представлений также имеет некоторые очевидные применения, но я не уверен, что мог бы придумать какой-либо вариант использования для замены контроллеров, который не приводит к кошмару архитектуры. 1003 *

Какие-нибудь примеры?

Ответы [ 2 ]

3 голосов
/ 11 июня 2009

Мы делаем это по двум причинам:

  1. Зависимость инъекций. Вот как мы меняем модель для контроллеров модульного тестирования. Контроллер имеет ссылку на интерфейс службы, из которой он получает требуемые типы моделей.
  2. Переопределение принятого по умолчанию соглашения «ControllerName + Controller». На самом деле у нас нет определенного типа контроллера для каждого контроллера, который видит конечный пользователь. В некоторых случаях мы генерируем контроллеры динамически. Контроллер фабрики обрабатывает эти случаи.

Тем не менее, это всего лишь несколько строк кода; большая часть реальной работы выполняется унаследованной фабрикой контроллеров из фреймворка. Таким образом, ответ на ваш вопрос частично, "не так много".

1 голос
/ 23 февраля 2010

Я Крейг ответил на часть «Варианта использования» вашего вопроса, и он прав, очень легко создать собственную фабрику контроллеров.

Вот мой пример того, как сделать это, используя Ninject в качестве контейнера Ioc. Возможно, это поможет кому-то еще. Я также надеюсь, что это ответит на часть «Пример» вашего вопроса.

http://www.craftyfella.com/2010/02/creating-aspnet-mvc-2-controller.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...